南开24秋学期(高起本:1809-2103、专升本高起专:2103)《网络爬虫与信息提取》在线作业(标准答案)
试卷总分:100 得分:100
一、单选题 (共 20 道试题,共 40 分)
1.以下表示请求正常处理的HTTP状态码为
A.200
B.301
C.404
D.500
2.请问按哪个键可以打开Chrome自带的开发者工具( * )
A.F10
B.F1
C.F11
D.F12
3.Python中线程池map( * )方法第二个参数是( * )
A.列表
B.元组
C.字典
D.集合
4.HTTP常用状态码表明服务器上没有请求的资源的是( * )
A.500
B.503
C.403
D.404
5.网站根目录中哪个文件里面的内容会告诉爬虫哪些数据是可以爬取的,哪些数据是不可以爬取的( * )。
A.robot.txt
B.robot.html
C.robots.txt
D.robots.html
6.PyMongo中逻辑查询表示大于等于的符号是( * )
A.$gt
B.$lt
C.$gte
D.$lte
7.Redis中往集合中添加数据,使用关键字( * )
A.sadd
B.add
C.append
D.sappend
8.Redis是一个开源的使用( * )语言编写
A.ANSI C
B.C++
C.JAVA
D.Python
9.下列说法错误的是( * )
A.Charles只能截获HTTP和HTTPS的数据包,如果网站使用的是websocket或者是flashsocket,那么Charles就无能为力。
B.有一些App会自带证书,使用其他证书都无法正常访问后台接口。在这种情况下,Charles自带的证书就不能正常使用,也就没有办法抓取这种App的数据
C.有一些App的数据经过加密,App接收到数据以后在其内部进行解密。Charles无法获取这种App的数据
D.对于上述情况,Charles能抓取到经过加密的数据。但是如果无法知道数据的具体加密方法,就没有办法解读Charles抓取到的数据。
10.Scrapy_redis是Scrapy的“( * )”,它已经封装了使用Scrapy操作Redis的各个方法
A.组件
B.模块
C.控件
D.单元
11.Python在Windows路径字符串左引号的左边加( * )符号来避免反斜杠问题
A.s
B.c
C.d
D.r
12.要想让Scrapy结合Redis,应该对Scrapy爬虫请求的调度算法进行修改,以下哪种修改不能完成这一任务?( * )
A.队列
B.栈
C.上锁
D.优先级队列
13.Python中若定义object=[1, 2, 3, 4, 5],则print(object[-4])输出( * )
A.NULL
B.2
C.4
D.程序报错
14.如果使用Python的数据结构来做类比的话,MongoDB中文档相当于一个( * )
A.列表
B.元组
C.字典
D.集合
15.Python写CSV文件需要哪个方法( * )
A.CSVWriter
B.CsvWriter
C.DictWriter
D.FileWriter
16.浏览器用来记录用户状态信息的数据叫
A.session
B.cookies
C.moonpies
D.selenium
17.在Scrapy的目录下,哪个文件负责存放爬虫文件?( * )
A.spiders文件夹
B.item.py
C.pipeline.py
D.settings.py
18.lxml库中etree模块的( * )方法把Selector对象转换为bytes型的源代码数据
A.etree.tostring
B.etree.convertBytes
C.etree.toBytes
D.etree.convertstring
19.HTTP常用状态码表明服务器内部资源出故障了的是( * )
A.500
B.503
C.403
D.404
20.一般来说在页面传输登录信息都用HTTP( * )请求类型
A.GET
B.POST
C.PUT
D.SEND
二、多选题 (共 10 道试题,共 20 分)
21.下列关于在IOS上配置charles的说法正确的是( * )
A.不同ios设备之间会有比较大的差别,所以配置的时候需要找到对应的安装证书的入口。
B.手机和电脑需要在同一个局域网下。
C.HTTP代理可以使用“自动”选项。
D.安装好证书以后,打开iOS设备上的任何一个App,可以看到Charles中有数据包在流动
22.MongoDB中获取名字为set1的集合的语句为( * )
A.database.set1
B.database('set1')
C.database['set1']
D.database{'set1'}
23.最常见的HTTP请求类型有( * )
A.GET
B.POST
C.SEND
D.RECEIVE
24.以下HTTP状态码表示服务器没有正常返回结果的是
A.200
B.301
C.404
D.500
25.MongoDB中获取名字为db的库的语句为( * )
A.client.db
B.client('db')
C.client['db']
D.client{'db'}
26.自动填充验证码的方式有
A.手动识别填写
B.图像识别
C.打码网站
D.浏览器自动识别
27.Python中( * )与元组由类似的数据读取方式
A.字符串
B.列表
C.字典
D.集合
28.HTTP常用状态码表明请求被正常处理的有( * )
A.200
B.301
C.302
D.204
29.Python中( * )容器有推导式
A.列表
B.元组
C.字典
D.集合
30.下列说法错误的是( * )
A.mitmproxy的强大之处在于它还自带一个mitmdump命令。这个命令可以用来运行符合一定规则的Python脚本,并在Python脚本里面直接操作HTTP和HTTPS的请求,以及返回的数据包。
B.命令行中执行mitmdump -s parse_request.py即可运行python 脚本
C.使用python可以自定义返回的数据包,如 response.headers,就是返回的头部信息
D.如果返回的是JSON类型的字符串,python无法进行解析。
三、判断题 (共 20 道试题,共 40 分)
31.HTTP状态码中303状态码明确表示客户端应当采用POST方法获取资源
32.对Charles设置代理时,Ip可以设置为127.0.0.1,端口为8888.
33.Charles和Chrome开发者工具相比,只是多了一个搜索功能。
34.异步加载的内容一般在网页框架加载完成之前
35.如果通过爬虫抓取某公司网站的公开数据,分析以后发现这个公司业绩非常好。于是将数据或者分析结果出售给某基金公司,从而获得销售收入。这是合法的。
36.scrapy与selenium结合可以实现直接处理需要异步加载的页面
37.Scrapyd可以同时管理多个Scrapy工程里面的多个爬虫的多个版本
38.如果通过爬虫抓取某公司网站的公开数据,分析以后发现这个公司业绩非常好,于是买入该公司股票并赚了一笔钱。这是合法的。
39.在默认情况下,Scrapyd可以从外网访问
40.Redis中列表读取数据命令lrange中l代表left,即从左侧开始读取
41.Charles是一个收费软件,如果没有注册,安装以后的前30天可以正常使用。30天以后,虽然功能不会缩水,但每过30分钟Charles会自动关闭一次
42.要实现Charles对Android抓包,其过程比iOS稍微复杂一点。这是因为不同的Andorid设备,安装证书的入口可能不一样
43.需要登录的网站一般通过GET请求就可以实现登录。
44.运行MongoDB以后,不会在终端打印任何Log
45.在Windows中下若要运行Redis可以运行redis-server /usr/local/etc/redis.conf
46.Python中函数返回值的个数可以是多个
47.爬虫的源代码通过公开不会对被爬虫网站造成影响
48.为了保证数据插入效率,在内存允许的情况下,应该一次性把数据读入内存,尽量减少对MongoDB的读取操作。
49.打码平台都是靠机器使用OCR技术识别图片上的文字。
50.微信小程序的反爬虫能力要比网页的高很多。