A.spiders文件夹
B.item.py
C.pipeline.py
D.settings.py
The search engines work by means of _________.
A. arranging links to the Internet
B. submitting specific search term
C. updating a knowledge database
D. searching engine spiders
---Ring off engine! ---Ring off engine! _________________
A.Finished with engine!
B.Engine rung off!
C.Engine stand by!
D.Got it.
从使用者的角度看,搜索引擎(Search Engine)系统提供了一个网页界面,让其通过浏览器提交一个词语(或短语),然后很快返回一个可能和用户输入内容相关的信息列表。该列表中的每一条目至少包括标题、摘要和
A.关键词 B.URL C.页面等级 D.相关度评价
"Stand by an engine" means
A."prepare to stop the engine"
B."assemble an engine on its bedplate"
C."make an engine ready for starting"
D."dismantle an engine"
上海肯耐珂萨人力资源科技股份有限公司3月招聘面试题面试题面试官常问到的一些题目整理如下:问题 Q1:用Python匹配HTML tag的时候,和有什么区别?可用的回答 :术语叫贪婪匹配( )和非贪婪匹配( )问题 Q2: scrapy分为几个组成部分?分别有什么作用?可用的回答 : 分为5个部分; 1. Spiders(爬虫类) 2. Scrapy Engine(引擎) 3. Scheduler(调度器) 4. Downloader(下载器) 5. Item Pipeline(处理管道) 具体来说: Spiders:开发者自定义的一个类,用来解析网页并抓取指定url返回的内容。 Scrapy Engine:控制整个系统的数据处理流程,并进行事务处理的触发。 Scheduler:接收Engine发出的requests,并将这些requests放入到处理列队中,以便之后engine需要时再提供。 Download:抓取网页信息提供给engine,进而转发至Spiders。 Item Pipeline:负责处理Spiders类提取之后的数据。 比如清理HTML数据、验证爬取的数据(检查item包含某些字段)、查重(并丢弃)、将爬取结果保存到数据库中 问题 Q3:创建一个简单tcp服务器需要的流程?可用的回答 : 1.socket创建一个套接字 2.bind绑定ip和port 3.listen使套接字变为可以被动链接 4.accept等待客户端的链接 5.recv/send接收发送数据 问题 Q4:简述 OSI 七层协议?可用的回答 : OSI是Open System Interconnection的缩写,意为开放式系统互联。 OSI七层协议模型主要是: 1. 应用层(Application) 应用层 是最靠近用户的OSI层。这一层为用户的应用程序(例如电子邮件、文件传输和终端仿真)提供网络服务。 2. 表示层(Presentation) 表示层 可确保一个系统的应用层所发送的信息可以被另一个系统的应用层读取。 例如,PC程序与另一台计算机进行通信,其中一台计算机使用扩展二一十进制交换码(EBCDIC),而另一台则使用美国信息交换标准码(ASCII)来表示相同的字符。 如有必要,表示层会通过使用一种通格式来实现多种数据格式之间的转换。 3. 会话层(Session) 会话层 通过运输层(端口号:传输端口与接收端口)建立数据传输的通路。 主要在你的系统之间发起会话或者接受会话请求(设备之间需要互相认识可以是IP也可以是MAC或者是主机名) 4. 传输层(Transport) 运输层 定义了一些传输数据的协议和端口号(WWW端口80等),如: TCP(transmission control protocol 传输控制协议,传输效率低,可靠性强,用于传输可靠性要求 高,数据量大的数据) UDP(user datagram protocol用户数据报协议,与TCP特性恰恰相反,用于传输可靠性要求不高,数据 量小的数据,如QQ聊天数据就是通过这种方式传输的) 主要是将从下层接收的数据进行分段和传输,到达 目的地址后再进行重组。常常把这一层数据叫做段。 5. 网络层(Network) 网络层 在位于不同地理位置的网络中的两个主机系统之间提供连接和路径选择。 Internet的发展使得从世界各站点 访问信息的用户数大大增加,而网络层正是管理这种连接的层。 6. 数据链路层(Data Link) 数据链路层 定义了如何让格式化数据以进行传输,以及如何让控制对物理介质的访问。 这一层通常还提供错误检测和纠正,以确保数据的可靠传输。 7. 物理层(Physical) 物理层 主要定义物理设备标准,如网线的接口类型、光纤的接口类型、各种传输介质的传输速率等。 它的主要作用是 传输比特流(就是由1、0转化为电流强弱来进行传输,到达目的地后在转化为1、0,也就是我们常说的数模转 换与模数转换)。 这一层的数据叫做比特。 问题 Q5:什么是猴子补丁?可用的回答 :在运行时动态修改类和模块问题 Q6:描述数组、链表、队列、堆栈的区别?可用的回答 : 数组与链表是数据存储方式的概念,数组在连续的空间中存储数据,而链表可以在非连续的空间中存储数据; 队列和堆栈是描述数据存取方式的概念,队列是先进先出,而堆栈是后进先出; 队列和堆栈可以用数组来实现,也可以用链表实现。 问题 Q7:遇到过得反爬虫策略以及解决方法?可用的回答 : 反爬虫策略: 1.通过headers反爬虫 2.基于用户行为的发爬虫(同一IP短时间内访问的频率,封IP) 3.动态网页反爬虫(通过ajax请求数据,或者通过JavaScript生成) 4.对部分数据进行加密处理的(数据是乱码) 解决方法: 1. 对于基本网页的抓取可以自定义headers,添加headers的数据 2. 使用多个代理ip进行抓取或者设置抓取的频率降低一些, 3. 动态网页的可以使用selenium + phantomjs 进行抓取 4. 对部分数据进行加密的,可以使用selenium进行截图,使用python自带的pytesseract库进行识别,但是比较慢最直接的方法是找到加密的方法进行逆向推理。 问题 Q8:简述一下爬虫的步骤?可用的回答 : 确定需求; 确定资源; 通过url获取网站的返回数据; 定位数据; 存储数据。 问题 Q9:Python中的docstring是什么?可用的回答 :Python文档字符串称为docstring,它是一种记录Python函数,模块和类的方法。可以通过内置方法_doc_获取问题 Q10:简述 生成器、迭代器、可迭代对象 以及应用场景?可用的回答 : Python可迭代对象(Iterable) Python中经常使用 for 来对某个对象进行遍
---()! ---Engine dead slow astern!
---Stand by engine! ---Stand by engine!()
---Ring off engine! ---Ring off engine! ()
---Finished with engine! ---Reply: Finished with engine! ---Report: ().