1.下面哪个不是“网络爬虫与信息提取”相关的技术路线?
A
scrapy-bs4
B
requests-re
C
bs4-re
D
requests-bs4-re
正确答案: C
技术路线至少包含一个爬虫库和一个解析库,bs4和re都是解析库。
2. Requests库的方法与HTTP协议请求方法对应,下面哪个不是Requests库的对应方法?
A
.put()
B
.patch()
C
.get()
D
.push()
正确答案: D
3.判断一个网络爬虫应用可行性的最主要因素是什么?
A
Robots协议是否有允许
B
网页条件,即尽量没有JavaScript脚本产生的数据
C
技术路线选取
D
部署代价和经济成本
正确答案: A
Robots协议允许是爬虫能够实施的首要条件。
4.下面哪个不是网络爬虫可能引发的问题?
A
性能骚扰
B
网络攻防对抗
C
隐私泄露
D
法律风险
正确答案: B
爬虫不会造成网络攻防对抗,被爬取服务器可能会被爬虫攻击,但没有对抗。
5.以下不是Scrapy框架组成模块的是:
A
Blocklist
B
Spiders
C
Downloader
D
Engine
正确答案: A
Scrapy具有5+2结构,其中,5个模块分别是:Engine、Spiders、Scheduler、Downloader和Item Pipelines。
6.在scrapy框架中,数据流最初始的请求来自于:
A
Spiders
B
Scheduler
C
Engine
D
Downloader
正确答案: A
Spiders模块给出了Scrapy爬虫最初始的请求
7.在Scrapy框架中,以下不是数据流所承载数据元素的是:
A
URLS
B
REQUESTS
C
RESPONSE
D
ITEMS
正确答案: A
Scrapy中使用REQUESTS表达URL,因此,URL不是其直接承载的元素。
8.在Scrapy框架中,请求从Spider模块发出后,被Engine发送到:
A
ITEM Pipeline
B
Scheduler
C
丢弃
D
Downloader
正确答案: B
Spider->Engine->Scheduler,注意,Spider请求不直接到Downloader模块。
9.在Scrapy框架中,Downloader爬取页面内容后,结果经Engine发送到哪个模块?
A
ITEM Pipelines
B
Scheduler
C
Spiders
D
丢弃
正确答案: C
Downloader->Engine->Spiders路径。
10. 在Scrapy框架中,Spiders模块产生的HTML分析结果经Engine模块发送给哪个模块?
A
Item Pipelines
B
Item Pipelines和Scheduler
C
Downloader
D
Scheduler
正确答案: B
Spiders->Engine->(ITEMS) Item Pipelines
->(REQUESTS) Scheduler
根据不同类型的结果,有两个路径。
11.Scrapy是一个网络爬虫框架,以下对框架描述正确的是:
A
框架是一个系统的半成品,提供了共性功能,需要开发定制功能
B
框架是一个系统,配置参数后即可使用
C
框架是一个理念,按照理念去编程
D
框架是一组功能,类似API
正确答案: A
框架是一个有一定系统架构的半成品,但不是API。
12.在Scrapy框架下,Engine模块作用描述错误的是:
A
控制所有模块之间的数据流
B
需要用户修改配置才能正常工作
C
根据条件出发事件
D
所有数据流都经过这个模块
正确答案: B
Engine模块不需要用户修改和配置即可直接工作。
13.在Scrapy框架下,Spider Middleware在Spiders和Engine之间,以下对其作用描述错误的是:
A
仅能表现为一个队列行为(先进先出)
B
用户可以扩展编写配置代码
C
对请求和爬取项进行再处理
D
可以修改或新增爬取项
正确答案: A
根据用户代码配置,该中间件可以表现为多种行为特征,不只是队列模式。
14.保留字yield所在函数是一个什么Python类型?
A
对象类型
B
函数类型
C
整数类型
D
生成器
正确答案: D
yield产生一个生成器,生成器本身也是迭代器。
15.在Scrapy框架中,Spiders模块作用描述错误的是:
A
维护一个爬取队列
B
产生最初始的爬取请求
C
对获取的响应进行分析
D
产生额外的爬取请求
正确答案: A
爬取队列由Scheduler模块维护。
16. 以下不是Scrapy框架和requests库共同点的是:
A
都无法执行爬取后的JavaScript脚本、不能提交表单
B
使用方法类似,相互兼容
C
可用性都很好,文档丰富
D
都能够完成Web页面爬取功能
正确答案: B
两者使用方法十分不同,Scrapy是补充和配置框架,完成局部开发;Requests是调用API进行编程。
17.开发一个网站级爬虫,可以724(7天每天24小时)不间断运行,应该选择的Python库是:
A
re
B
Requests
C
Beautiful Soup
D
Scrapy
正确答案: D
Scrapy是可以提供724运行的爬虫框架系统。
18.以下不是Scrapy框架支持的HTML信息提取方法的是:
A
lxml
B
Beautiful Soup
C
CSS Selector
D
json
正确答案: D
JSON不是信息提取方法。
19.在Scrapy框架下,配置Downloader最大并发下载数量的参数是:
A
CONCURRENT_REQUESTS_PER_IP
B
CONCURRENT_REQUESTS_PER_DOMAIN
C
CONCURRENT_REQUESTS
D
CONCURRENT_ITEMS
正确答案: C
CONCURRENT_REQUESTS默认值是32。
20.以下不是使用Scrapy框架配置爬虫中所需要流程的是:
A
编写Scheduler代码
B
编写Spider代码
C
建立工程和Spider模板
D
配置优化
正确答案: A
Scrapy框架不需要编写Scheduler代码。