21秋学期(1709、1803、1809、1903、1909、2003、2009、2103)《网络爬虫与信息提取》在线作业
试卷总分:100 得分:100
一、单选题 (共 20 道试题,共 40 分)
1.如果使用Python的数据结构来做类比的话,MongoDB中库相当于一个大字典,大字典里面的每一个键值对都对应了一个集合,Key为(),Value就是一个集合。
A.字典
B.集合的名字
C.集合
D.文档
答案:B
2.PyMongo中逻辑查询表示等于的符号是()
A.$gt
B.$lt
C.$eq$$ne
答案:C
3.HTTP常用状态码表明服务器内部资源出故障了的是()
A.500
B.503
C.403
D.404
答案:A
4.使用了RedisSpider作为爬虫的父类以后,爬虫会直接监控()中的数据,并不读取start_urls中的数据。
A.Redis
B.RedisSpider
C.Spider
D.MongoDB
答案:A
5.Scrapy中使用Xpath获得的结果调用了.extract方法,结果以()形式生成
A.列表
B.元组
C.字典
D.集合
答案:A
6.下面Python代码输出为(): def default_para_without_trap(para=[], value=0): if not para: para = [] para.append(value) return para print('第一步:{}'.format(default_para_trap(value=100))) print('第二步:{}'.format(default_para_trap(value=50)))
A.第一步:[100] 第二步:[100,50]
B.第一步:[100] 第二步:[50]
C.第一步:[100] 第二步:[]
D.第一步:[100] 第二步:[100]
7.打码平台一般通过()识别验证码。
A.人工识别
B.机器学习识别
C.光学字符识别
D.深度学习识别
8.HTTP状态码401表示
A.请求报文中可能存在语法错误
B.请求需要通过HTTP认证
C.请求资源的访问被拒绝
D.服务器上没有请求的资源
9.Python中以下哪个容器里的元素不能重复()
A.列表
B.元组
C.字典
D.集合
10.如果使用Python的数据结构来做类比的话,MongoDB中库相当于一个大字典,大字典里面的每一个键值对都对应了一个集合,Key为集合的名字,Value就是一个()。
A.字典
B.集合的名字
C.集合
D.文档
11.浏览器用来记录用户状态信息的数据叫
A.session
B.cookies
C.moonpies
D.selenium
12.使用UI Automator使屏幕向上滚动一屏的操作是得到相应控件后使用命令()
A.scroll_forwad
B.scroll_up
C.scroll.forward
D.scroll.vert.forward
13.一般来说在页面传输登录信息都用HTTP()请求类型
A.GET
B.POST
C.PUT
D.SEND
14.Redis是一个开源的使用()语言编写
A.ANSI C
B.C++
C.JAVA
D.Python
15.Python操作CSV文件可通过()容器的方式操作单元格
A.列表
B.元组
C.字典
D.集合
16.Scrapy自带的待爬队列是()
A.deque
B.queue
C.list
D.lqueue
17.Python中专门用来处理图像的第三方库是
A.lxml
B.Pillow
C.beautifulsoup
D.pytesseract
18.可以通过()绕过网站登录。
A.session
B.cookies
C.moonpies
D.localstorage
19.MongoDB中数据存储的形式类似于()
A.列表
B.元组
C.字典
D.集合
20.Redis若要进入交互环境,需要打开终端输入()
A.redis-cli
B.redis
C.redis-cmd
D.redis-start
二、多选题 (共 10 道试题,共 20 分)
21.自动填充验证码的方式有
A.手动识别填写
B.图像识别
C.打码网站
D.浏览器自动识别
22.requests中post请求方法的第二个参数可以为()
A.字典
B.列表
C.json数据
D.字符串
23.要使用tesseract来进行图像识别,需要安装两个第三方库
A.requests
B.beautifulsoup
C.Pillow
D.pytesseract
24.Python中一个函数可以有()个return语句
A.0
B.1
C.多个
D.2
25.Python中()与元组由类似的数据读取方式
A.字符串
B.列表
C.字典
D.集合
26.如果目标网站有反爬虫声明,那么对方在被爬虫爬取以后,可以根据()来起诉使用爬虫的公司
A.服务器日志
B.数据库日志记录
C.程序日志记录
D.服务器监控
27.一个可行的自动更换代理的爬虫系统,应该下列哪些功能?
A.有一个小爬虫ProxySpider去各大代理网站爬取免费代理并验证,将可以使用的代理IP保存到数据库中
B.在发现某个请求已经被设置过代理后,什么也不做,直接返回
C.在ProxyMiddlerware的process_request中,每次从数据库里面随机选择一条代理IP地址使用
D.周期性验证数据库中的无效代理,及时将其删除
28.如果爬虫爬取的是商业网站,并且目标网站使用了反爬虫机制,那么强行突破反爬虫机制可能构成()
A.非法侵入计算机系统罪
B.非法获取计算机信息系统数据罪
C.非法获取计算机数据罪
D.非法获取系统罪
29.以下哪些方法属于Python写CSV文件的方法()
A.writeheaders
B.writeheader
C.writerrows
D.writerow
30.Python中()容器有推导式
A.列表
B.元组
C.字典
D.集合
三、判断题 (共 20 道试题,共 40 分)
31.RoboMongo是MongoDB的管理软件
32.Python中写CSV文件的writerows方法参数为字典类型
33.如果元组里面只有整数、浮点数、字符串、一个列表,就既不能添加数据,也不能删除数据,还不能修改里面数据的值。
34.在MacOS下若要运行Redis可以运行解压以后的文件夹下面的src文件夹中的redis-server文件启动redis服务 src/redis-server
35.在Linux的终端使用apt-get命令安装一系列依赖库时,其中如果存在有已经安装的库,会覆盖掉之前的库重新安装
36.运行MongoDB以后,不会在终端打印任何Log
37.微信小程序的反爬虫能力要比网页的高很多。
38.在发送请求时需要注意requests提交的请求头不能与浏览器的请求头一致,因为这样才能隐藏好自己达到获取数据的目的
39.插入数据时,MongoDB会自动添加一列“_id”,也就是自增ID,每次自动加1
40.Redis插入数据都是插入到列表右侧,因此读取数据也是从右侧读取
41.把cookies这段文本放在Redis里面,可以使scrapy请求网页时始终保持登录状态
42.异步加载的内容一般在网页框架加载完成之前
43.自己能查看的数据,允许擅自拿给第三方查看
44.在Ubuntu下若要运行Redis可以使用CMD进入解压以后的文件夹并运行命令redis-server.exe redis.windows.conf启动Redis
45.Redis的集合与Python的集合一样,没有顺序,值不重复
46.使用UI Automatorr让屏幕向右滚动的操作是得到相应控件后使用命令scroll.horiz.forward()
47.在有spiders何setting.py这两项的情况下,可以写出爬虫并且保存数据,items.py和pipelines.py文件是原作者的失误而导致的冗余文件。
48.在默认情况下,Scrapyd可以从外网访问
49.UI Automator Viewer与Python uiautomator可以同时使用
50.包含或超过50万人的个人信息,或者包含国家关键信息的数据,如果要转移到境外,必须经过主管或者监管部门组织安全评估。