
南开大学21春《网络爬虫与信息提取》离线作业2参考答案29.docx
11页南开大学21春《网络爬虫与信息提取》离线作业2参考答案1. 下列说法错误的是( )A.小程序的请求极其简单,基本上没有验证信息B.用Python来请求小程序的后台接口从而获取数据,比请求异步加载网页的后台接口要复杂很多C.如果目标网站有小程序,那么一定要优先调查能否通过小程序的接口来抓取数据D.小程序的反爬虫能力比网页版的低很多使用小程序的接口来爬数据,能极大提高爬虫的开发效率参考答案:D2. 使用BeautifulSoup对象后可以使用( )来查找内容A.find_allB.findC.searchD.search_all参考答案:AB3. HTTP常用状态码表明服务器上没有请求的资源的是( )A.500B.503C.403D.404参考答案:D4. Charles是一个收费软件,如果没有注册,安装以后的前30天可以正常使用30天以后,虽然功能不会缩水,但每过30分钟Charles会自动关闭一次 )T.对F.错参考答案:T5. Python中定义函数关键字为( )A.defB.defineC.funcD.function参考答案:A6. 请问按哪个键可以打开Chrome自带的开发者工具( )请问按哪个键可以打开Chrome自带的开发者工具( )A.F10B.F1C.F11D.F12参考答案:D7. 需要登录的网站一般通过GET请求就可以实现登录。
)A.正确B.错误参考答案:B8. Python中直接对浮点数进行计算有print(0.1+0.2),则结果为0.3 )A.正确B.错误参考答案:B9. Python中写CSV文件的writerows方法参数为字典类型 )T.对F.错参考答案:F10. 使用UI Automatorr根据坐标来滑动桌面的操作是得到相应控件后使用命令( )A.swipeB.moveC.scrollD.fly参考答案:A11. cookies在http请求中是明文传输的 )T.对F.错参考答案:T12. 下面Python代码输出为( ): def default_para_without_trap(para=[], value=0): if not para:下面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]参考答案:B13. Redis是一个开源的使用( )语言编写A.ANSI CB.C++C.JAVAD.Python参考答案:A14. Redis插入数据都是插入到列表右侧,因此读取数据也是从右侧读取。
)A.正确B.错误参考答案:B15. 为了保证数据插入效率,在内存允许的情况下,应该一次性把数据读入内存,尽量减少对MongoDB的读取操作 )T.对F.错参考答案:T16. Python中使用下面代码打开文件也需要对文件进行close关闭操作 with open(‘文件路径’,‘文件操作方式’,encoding=‘utf-8’)as f )A.正确B.错误参考答案:B17. 如果通过爬虫抓取某公司网站的公开数据,分析以后发现这个公司业绩非常好于是将数据或者分析结果出售给某基金公司,从而获得销售收入这是合法的 )A.正确B.错误参考答案:A18. 在MacOS下若要运行Redis可以运行解压以后的文件夹下面的src文件夹中的redis-server文件启动redis服务src/redis-server )T.对F.错参考答案:F19. 使用xpath方法的返回类型是( )A.列表B.元组C.字典D.集合参考答案:A20. HTTP状态码302表示资源永久重定向 )T.对F.错参考答案:F21. Python中以下哪个容器里的元素不能重复( )A.列表B.元组C.字典D.集合参考答案:D22. 下列关于mitmproxy的安装说法错误的是( )下列关于mitmproxy的安装说法错误的是( )A.对于Mac OS系统,使用Homebrew安装mitmproxy,命令为:brew install mitmproxyB.在Ubuntu中,要安装mitmproxy,首先需要保证系统的Python为Python3.5或者更高版本C.在windows系统中无法使用linux的命令,只能通过下载安装包来安装D.UBUNTU中执行命令 sudo pip3 install mitmproxy 进行安装参考答案:C23. 在Linux的终端使用apt-get命令安装一系列依赖库时,其中如果存在有已经安装的库,会覆盖掉之前的库重新安装。
)在Linux的终端使用apt-get命令安装一系列依赖库时,其中如果存在有已经安装的库,会覆盖掉之前的库重新安装 )A.正确B.错误参考答案:B24. MongoDB是一个关系数据库产品 )A.正确B.错误参考答案:B25. Python中函数返回值的个数可以是多个 )A.正确B.错误参考答案:A26. device.sleep( )方法是使用UI Automatorr关闭屏幕的命令 )A.正确B.错误参考答案:A27. Python中( )容器有推导式Python中( )容器有推导式A.列表B.元组C.字典D.集合参考答案:ACD28. Redis的集合与Python的集合一样,没有顺序,值不重复 )Redis的集合与Python的集合一样,没有顺序,值不重复 )A.正确B.错误参考答案:A29. 当需要把Python里面的数据发送给网页时,应先将其转换成( )当需要把Python里面的数据发送给网页时,应先将其转换成( )A.Json字符串B.GETC.POSTD.Request参考答案:A30. Python中若定义object=(1,2,3,4,5),则print(object[::3])输出( )。
A.345B.34C.45D.123参考答案:C31. PyMongo更新操作有( )PyMongo更新操作有( )A.updateB.update_allC.update_oneD.update_many参考答案:CD32. Redis是( )数据库A.关系数据库B.键值数据库C.列存数据库D.图数据库参考答案:B33. 常用的会话跟踪技术是( )A.sessionB.cookiesC.moonpiesD.localstorage参考答案:AB34. Redis中使用lrange读取数据后数据也会删除 )A.正确B.错误参考答案:B35. PyMongo删除操作有( )PyMongo删除操作有( )A.deleteB.delete_allC.delete_oneD.delete_many参考答案:CD36. Python中列表生成以后还可以往里面继续添加数据,也可以从里面删除数据 )A.正确B.错误参考答案:A37. chrome开发者工具没法对数据进行搜索如果想知道一个特定的异步加载内容来自哪个请求,必须在“Network”选项卡里面一个请求一个请求地进行查看 )T.对F.错参考答案:T38. 如果目标网站本身就是提供公众查询服务的网站,那么使用爬虫是合法合规的。
)A.正确B.错误参考答案:A39. 网站返回的Headers中经常有Cookies,可以用mitmdump脚本使用print函数把Cookies打印出来 )网站返回的Headers中经常有Cookies,可以用mitmdump脚本使用print函数把Cookies打印出来 )A.正确B.错误参考答案:B40. 如果使用Python的数据结构来做类比的话,MongoDB中库相当于一个大字典,大字典里面的每一个键值对都对应了一个集合,Key为集合的名字,Value就是一个( )A.字典B.集合的名字C.集合D.文档参考答案:C41. process_spider_input(response, spider)是在爬虫运行yield item或者yield scrapy.Request( )的时候调用 )T.对F.错参考答案:F42. 使用Charles,可以轻松截获App和小程序的数据包,从而开发出直接抓取App后台和小程序后台的爬虫 )使用Charles,可以轻松截获App和小程序的数据包,从而开发出直接抓取App后台和小程序后台的爬虫 )A.正确B.错误参考答案:A43. 以下HTTP状态码表示服务器没有正常返回结果的是( )。
A.200B.301C.404D.500参考答案:BCD44. 下列哪项不是HTTP的请求类型( )下列哪项不是HTTP的请求类型( )A.GETB.POSTC.PUTD.SET参考答案:D45. 虽然MongoDB相比于MySQL来说,速度快了很多,但是频繁读写MongoDB还是会严重拖慢程序的执行速度 )A.正确B.错误参考答案:A46. 下面Python代码输出为( ):def default_para_without_trap(para=[], value=0): if not para: p下面Python代码输出为( ):def default_para_without_trap(para=[], value=0): if not para: para = [] para.append(value) return para print('第一步:{}'.format(default_。
