Python网络爬虫题库(1+X数据采集职业技能等级证书 中级)

学习情境1

1、下面可以安装BeautifulSoup4库的命令是( B )。[单选题]  [2分]

A.pip setup beautifulsoup4

B.pip install beautifulsoup4

C.yum install beautifulsoup4

D.yum setup beautifulsoup4

答案解析:pip用于安装Python第三方库,yum用于安装Linux软件。


2、可以列出已经安装的Python包的命令是( B )。[单选题]  [2分]

A.pip show

B.pip list

C.pip find

D.pip query

答案解析:pip show用于查看已安装包的详细信息,pip list用于列出已安装包。


3、服务器返回403通常表示( D )。[单选题]  [2分]

A.请求的网页不存在

B.服务器已接收请求,但尚未处理

C.服务器错误

D.服务器拒绝请求

答案解析:404表示请求的网页不存在;202表示服务器已接收请求,但尚未处理;50x表示服务器错误;403表示服务器拒绝请求。


4、在URL地址中,用于分割多个参数的符号是( D )。[单选题]  [2分]

A.?

B.;

C.=

D.&

答案解析:?用于表示参数的开始,&号用于分割多个参数。


5、在URL地址中,用于表示参数的开始的符号是( A )。[单选题]  [2分]

A.?

B.;

C.=

D.&

答案解析:?用于表示参数的开始,&号用于分割多个参数。


6、下列不属于HTTP协议的请求方法的是( C )。[单选题]  [2分]

A.POST

B.GET

C.PUSH

D.PUT


7、下列不属于Scrapy框架组件的是( D )。[单选题]  [2分]

A.Pipeline

B.Spiders

C.Scheduler

D.Processer

答案解析:Scrapy框架包括Engine、Scheduler、Spiders、Downloader、Pipeline和Middleware组件。


8、在浏览器中可以打开开发者工具检查网页的快捷键是( D )。[单选题]  [2分]

A.F2

B.F8

C.F10

D.F12


9、以下不同类型的网络,更容易被攻击的是( C )。[单选题]  [2分]

A.拨号网络

B.租用专线网络

C.无线网络

D.宽带网络


10、以下Python的赋值语句,不合法的是( C )。[单选题]  [2分]

A.x=1;y=1;

B.x=y=1

C.x=(y=1)

D.x,y=y,x


11、选择html页面上所有class属性为“cls”的div标签,XPath表达式为( A )。[单选题]  [2分]

A.//div[@class='cls']

B.//div[class='cls']

C./div[@class='cls']

D.//div[@class=cls]


12、主要用于检查网络连通性的命令是( D )。[单选题]  [2分]

A.ipconfig

B.route

C.netstate

D.ping


13、将使用GBK编码的字节序列解码为字符串格式,应使用的方法是( D )。[单选题]  [2分]

A.encode("utf-8")

B.decode("utf-8")

C.encode("gbk")

D.decode("gbk")


14、选择html网页上第1个div下的p标签,Xpath代码为( C )。[单选题]  [2分]

A.//div[0]/p

B./html/div[0]/p

C.//div[1]/p

D./html/div[1]/p


15、HTTP响应码中,表示“未授权,不能访问”的是( B )。[单选题]  [2分]

A.500

B.401

C.302

D.203

答案解析:500表示服务器错误,401表示未授权不能访问,302表示重定向,203表示返回的消息来自另一个源。


16、下列哪种行为符合使用计算机的道德规范的是( B )。[单选题]  [2分]

A.利用网络公布他人隐私

B.删除自己计算机中不用的软件

C.利用网络歪曲他人私人信息

D.利用网络破坏他人计算机


17、使用requests.post消息发送POST请求时,应当将字典格式的表单数据传递给参数( B )。[单选题]  [2分]

A.post

B.data

C.json

D.get


18、使用requests.get()请求获取网页内容时,使用哪个参数可以设置超时时长?( D )。[单选题]  [2分]

A.time_out

B.sleep

C.time

D.timeout


19、关于Robots协议,下面说法错误的是( C )。[单选题]  [2分]

A.Robots协议可以作为法律判决的依据

B.Robots协议用来告知搜索引擎哪些页面能被抓取,哪些页面不能被抓取

C.Scrapy必须要遵守Robots协议

D.Robots协议是一种道德规范

答案解析:Robots协议是一种约定,是一种道德规范,并不能保护网站的隐私。


20、在Python中,可以去除字符串左右空格的函数是( C )。[单选题]  [2分]

A.remove

B.strip

C.lstrip

D.trim


21、在CSV文件中,字段与字段之间的默认分隔符是( A )。[单选题]  [2分]

A.,(逗号)

B.;(分号)

C.制表符

D.空格


22、规定“任何个人和组织不得从事非法侵入他人网络、干扰他人网络正常功能、窃取网络数据等危害网络安全的活动”的法律是( B )。[单选题]  [2分]

A.《民法总则》

B.《中华人民共和国网络安全法》

C.《电信和互联网用户个人信息保护规定》

D.《用户个人信息保护法》


23、在HTTP请求头中,用来识别客户使用的操作系统版本、浏览器版本、浏览器插件等的消息头是( C )。[单选题]  [2分]

A.Referer

B.Host

C.User-Agent

D.Origin


24、在XPath语法中,代表从根节点开始选取的是( C )。[单选题]  [2分]

A.@

B.@root

C./

D.//


25、下面的域名后缀表示本域名由商业组织持有的是( B )。[单选题]  [2分]

A.net

B.com

C.edu

D.org



26、关键信息基础设施的运营者在中华人民共和国境内运营中收集和产生的个人信息和重要数据应当存储在( C )。[单选题]  [2分]

A.国内

B.国外

C.境内

D.境外


27、在网络编程中,HTTP指的是( B )。[单选题]  [2分]

A.超媒体文本

B.超文本传输协议

C.超文本标记语言

D.超文本文件


28、使用Python的requests库爬取数据,设置代理应该在request.get()中使用的参数是( C )。[单选题]  [2分]

A.headers

B.params

C.proxies

D.verify


29、使用BeautifulSoup解析网页时,使用soup.select("#article")进行选择依据的是( A )。[单选题]  [2分]

A.标签的id

B.标签的tag name

C.标签的name

D.标签的属性值


30、IPV4地址使用的二进制位数是( A )。[单选题]  [2分]

A.8

B.16

C.32

D.64


31、《电信和互联网用户个人信息保护规定》中规定,接受与用户个人信息保护有关的投诉,并自接到投诉之日起( B )内答复投诉人。[单选题]  [2分]

A.十日

B.十五日

C.三十日

D.六十日


32、使用Requests库访问网页时,Request对象的属性可以跟踪重定向的是( D )。[单选题]  [2分]

A.preview

B.local

C.reward

D.history

学习情境2


33、下面不属于XPath七种节点类型的是( D )。[单选题]  [2分]

A.文本(Text)

B.元素(Element)

C.注释(Comment)

D.属性(Attribute)


34、Beautiful Soup的CSS选择器,“soup.select(#blog .article li)”中#blog代表的是( B )。[单选题]  [2分]

A.标签的class是blog

B.标签的id是blog

C.标签的name是blog

D.标签的tag name是blog


35、Python 不需要显式声明变量类型,在第一次变量赋值时由值决定变量的类型。(对)[2分]


36、正则表达式中“+”号表示前面的子表达式出现0次或1次。 (错)[2分]


37、CSV文件通常用于保存文本格式的非结构化数据 (错)[2分]


38、使用pip install安装第三方库时,库名称不区分大小写。 )[2分]


39、CSV模块是Python的第三方库,需要使用pip install进行安装 (错)[2分]


40、在Python语言的正则表达式匹配中,默认采用非贪婪模式。 (错)[2分]


41、Cookie是保存在服务端用来识别访问者身份的一小块数据。 (错)[2分]


42、URL地址中的汉字会被转换为URL编码进行传输。 )[2分]


43、域名一般由域名关键词和域名类别两部分组成,中间用点分隔开。(对)[2分]


44、服务器端可以记住用户的登录状态是因为HTTP协议自身具有保持会话状态的功能。(错)[2分]



45、放置于网站根目录下告诉搜索引擎哪些页面可以抓取的文件是{robots}.txt。 [填空题][2分]


46、在Python的os库中,os.path.{basename} 可以提取路径中的文件名。[填空题][2分]


47、获取最后一个div的XPath语法是:result = doc.xpath('//div[{last()}]') [填空题][2分]


48、使用http://访问网站,默认使用的端口是{80}。 [填空题][2分]


49、使用https://访问网站,默认使用的端口是{443}。 [填空题][2分]


50、根据《数据安全管理办法》,收集{14}周岁以下未成年人个人信息的,应当征得其监护人同意。 [填空题][2分]


51、从多个来源爬取的数据经常会需要使用集合进行预处理。Python代码“len({'张三', '李四', '鲁班', '亚塞', '张三', '公孙离', '鲁班'})”的执行结果是{5}。 [填空题][2分]


52、关于HTTP中get请求和post请求,说法正确的是( ACD )。[多选题] [2分]

A.get请求应当是幂等的

B.get请求只能获取数据,post请求可以提交数据

C.post请求安全性更高

D.get请求产生一个TCP包,post请求产生两个TCP包


53、下面的中间件,属于Scrapy框架的是( BCD )。[多选题] [2分]

A.Pipeline Middleware

B.Downloader Middleware

C.Spider Middleware

D.Scheduler Middleware


54、使用BeautifulSoup解析HTML时,能够从soup对象中获取属性值的语法是( BC )[多选题] [2分]

A.soup.标签名.属性名

B.soup.标签名['属性名']

C.soup.标签名.attrs['属性名']

D.soup.标签名[@'属性名']


55、错误的使用网络爬虫,可能会触犯我国法律中的哪些罪名。( ABCD )[多选题] [2分]

A.侵犯著作权罪

B.侵犯公民个人信息罪

C.非法侵入计算机信息系统罪

D.非法获取计算机信息系统数据罪


56、Cookie的主要作用包括( ABC )。[多选题] [2分]

A.用户个性化设置

B.会话状态管理

C.浏览器行为跟踪

D.保存用户配置信息


57、以下正则表达式能匹配“abb”的是( ABC )。[不定项题]  [2分]

A.abb

B.ab{2}

C.ab{1,2}

D.ab{1-2}


58、请简述Cookie和Session的区别。[简答题] [10分]


59、请简述GET请求和POST请求的区别。[简答题] [10分]


60、请列出三种网站反爬虫的方法,以及网络爬虫对这三种反爬手段应该如何应对。[简答题] [10分]


61、在Python语言中,用于判断一个元素是否属于列表的关键字是( B )。[单选题]  [2分]

A.isContain

B.in

C.ContainOf

D.of


62、Mechanize的API操作均以其浏览器API为核心,其核心类的名称是( B )。[单选题]  [2分]

A.Driver

B.Browser

C.Request

D.HTMLForm


63、正则表达式“A[0-9]{3}”能够匹配成功的字符串是( D )。[单选题]  [2分]

A.A3

B.A03

C.A09

D.A093


64、对于CSV文件格式,下面说法错误的是( A )。[单选题]  [2分]

A.CSV是一种保存结构化数据的富文本格式

B.CSV文件默认以英文的逗号来分割字段

C.CSV文件可以自定义字段分隔符

D.CSV文件主要用来传递表格数据


65、下面的语句中,正确的定义了一个字典的是( B )。[单选题]  [2分]

A.x = (1, 2, 3)

B.x = {1:2, 2:3 }

C.x = [1, 2, 3]

D.x = {1, 2, 3}



66、使用Python内置的csv.reader()读取CSV文件时,可以用于指定字段间分隔符的参数是( D )。[单选题]  [2分]

A.newline

B.quotechar

C.quoting

D.delimiter


67、在BeautifulSoup中,可以获得子孙节点的迭代对象的属性是( D )。[单选题]  [2分]

A.children

B.parent

C.contents

D.descendants


68、使用Python内置的CSV模块读取文件,csv.reader会将文件的每一行转换为( D )。[单选题]  [2分]

A.元组(tuple)

B.字典(dict)

C.列表(list)

D.集合(set)


69、使用with open语法打开文件进行操作,需要在操作完成时使用close方法关闭文件。(错)[2分]


70、正则表达式re.match('重庆', '2023年,重庆地区生产总值30145.79亿元。')不能成功的进行匹配。(对)[2分]


71、UTF-8是一种可变长度字符编码,其长度从一个字节到四个字节不等。(对)[2分]


72、使用BeautifulSoup的find()方法进行匹配时,如果成功则返回第一个匹配成功结果,如果匹配失败则抛出异常。(错)[2分]


73、使用Python的csv模块写入数据时,为了避免在行与行之间出现多余的空行,需要在打开文件时设置参数{newline}为空字符串。[填空题][2分]


74、正则表达式“re.search('未老', '青山在,人未老,人未老。').span()”的结果是元组({5,7})。[填空题][2分]


75、使用Python的os模块创建目录时,可以使用if not os.path.{exist}(my_dir)来判断目录my_dir是否已经存在。[填空题][2分]


76、使用BeautifulSoup解析HTML网页,可以使用{next_sibling}属性来获取当前标签的下一个兄弟标签。[填空题][2分]


77、如果想要Python的字符串不被转义,那么可以在字符串前面加上小写的字母{r}。[填空题][2分]


78、使用BeautifulSoup的find方法,获取所有的class属性为artitle的div标签的语法是soup.find({'div', class_='article'})。[填空题][2分]


79、关于Python中的列表,下面的说法正确的是( AD )。[不定项题]  [2分]

A.列表中的元素是有序的

B.列表中的元素必须是相同的数据类型

C.列表元素的索引从1开始

D.列表元素之间使用逗号分隔


学习情境3


80、关于爬虫框架Mechanize,下面说法正确的是( ABCD )。[不定项题]  [2分]

A.Mechanize支持加载JS

B.Mechanize可以模拟用户操作

C.Mechanize主要支持静态网页的爬取

D.Mechanize可以记录访问历史


81、当网站设置了技术措施保护网站资产时,下面的操作合法的有( ABD )。[不定项题]  [2分]

A.为学校课堂教学或者科学研究,避开技术措施提供少量已经发表的作品,供教学或者科研人员使用

B.进行加密研究或者计算机软件反向工程研究,而避开技术措施

C.针对网站向他人提供避开技术措施的技术

D.不以盈利为目的,避开技术措施获取已发表的小说修改为盲文


82、使用with open打开文件,如果文件不存在则自动创建的文件打开模式包括( ABD )。[不定项题]  [2分]

A.w

B.a

C.r+

D.a+


83、条件表达式通常用于对要爬取的内容的选择。对于Python语言中的布尔值,下面说法错误的包括( ABC )。[不定项题]  [2分]

A.所有大于0的整数都被认为是True

B.负数和零被认为是False

C.print(True-2) 会报错

D.print(False*2) 的结果是0


学习情境3

84、在XPath中,XML文档是被作为节点树来对待的。树的根被称为( A )。[单选题]  [2分]

A.文档节点

B.树节点

C.总节点

D.元素


85、关于Ajax请求,说法错误的是( C )。[单选题]  [2分]

A.通过Ajax技术可以只更新局部页面而不需要刷新整个页面

B.Ajax技术的核心组件是XMLHttpRequest,它可以向服务器端发送异步请求

C.Ajax技术是一种服务器端实现方法

D.Ajax技术包括了HTML、JavaScrip、DHTML和DOM等技术

答案解析:Ajax是一种从客户端发起请求的技术。



86、使用Scrapy框架爬取网页数据时,对请求网址进行去重的组件是( C )。[单选题]  [2分]

A.Scrapy Engine

B.Downloader

C.Scheduler

D.Spiders


87、新创建的Scrapy项目里,parse()函数的最后一条语句是pass,pass语句代表的含义是( C )。[单选题]  [2分]

A.跳过后面的语句

B.表示代码到此为止

C.表示此处代码待完成

D.表示函数的返回


88、使用PyMySQL操作数据库时,可以执行sql语句。下面可以将教师表teacher中工资salary字段的值增加500的语句是( D )。[单选题]  [2分]

A.Replace salary with salary+500

B.Update teacher salary with salary+500

C.Update set salary with salary+500

D.Update teacher set salary=salary+500


89、使用Scrapy框架爬取网页数据时,对实体(Item)进行持久化的组件是( A )。[单选题]  [2分]

A.Pipeline

B.Scheduler

C.Downloader

D.Spiders


90、在PyMSQL中,用于连接到MySQL数据库的方法是( D )。[单选题]  [2分]

A.open

B.commit

C.cursor

D.connect

答案解析:Ajax是一种从客户端发起请求的技术。


91、使用Scrapy爬取网页数据时,定义爬取的结构化数据格式的文件是( D )。[单选题]  [2分]

A.pipeline.py

B.settings.py

C.out.py

D.items.py

答案解析:Ajax是一种从客户端发起请求的技术。


92、用于解析域名的协议是( C )。[单选题]  [2分]

A.SMTP

B.NPDD

C.DNS

D.WWW


93、在HTML文档中,下面属性在整个HTML页面唯一的是( A )。[单选题]  [2分]

A.id

B.class

C.name

D.data


94、在Python正则表达式中re.findall()方法如果没有匹配到结果会返回( C )。[单选题]  [2分]

A.None

B.空字符串

C.空列表

D.抛出异常


95、能返回所有title节点的lang属性的XPath语法是( B )。[单选题]  [2分]

A.xpath("//title[@lang"])

B.xpath("//title/@lang")

C.xpath("//title").lang

D.xpath("//title/lang")


96、下列Scrapy组件中,用于从响应中提取Item数据的是( C )。[单选题]  [2分]

A.Pipeline

B.Downloader

C.Spiders

D.Scheduler


97、可以创建一个新的Scrapy的命令是( D )。[单选题]  [2分]

A.scrapy genspider

B.scrapy crawl

C.scrapy fetch

D.scrapy startproject


98、使用with open保存文件时,用于指定文件编码的参数名是( A )。[单选题]  [2分]

A.encoding

B.decoding

C.coding

D.recoding


99、能够选取所有具有src属性的img标签的XPath语法是( A )。[单选题]  [2分]

A.//img[@src]

B.//img[contains(src)]

C.//img/@src

D.//img[with@src]


100、Hypertext Reference在网络爬虫中的含义是( D )。[单选题]  [2分]

A.深层文本含义

B.复杂文本标记

C.多维文本注释

D.超文本引用


101、在HTML文档中正确的注释语句是( C )。[单选题]  [2分]

A.<-- 我是注释 -->

B.<# 我是注释 #>

C.<!-- 我是注释 -->

D.<!-- 我是注释 --!>


102、使用Scrapy框架爬取网络数据,在Spiders中限制爬虫能够访问的域名的设置是( B )。[单选题]  [2分]

A.start_urls

B.allowed_domains

C.name

D.start_requests


103、能成功匹配第一个table下所有a标签的href属性的XPath表达式是( D )。[单选题]  [2分]

A./table[0]/a/@href

B.//table[1]//a/@href

C.//table[1]//a[@href]

D.//table[1]//a[@href]/@href


104、爬取网站经常需要使用代理来隐藏客户端真实信息,以下不同代理类型按照隐藏程度从高到低正确排列的是( C )。[单选题]  [2分]

A.透明代理>匿名代理>混淆代理>高匿代理

B.高匿代理>匿名代理>混淆代理>透明代理

C.高匿代理>混淆代理>匿名代理>透明代理

D.混淆代理>高匿代理>透明代理>匿名代理


105、下面的pip语句中,能将scrapy升级到最新版本的是( C )。[单选题]  [2分]

A.pip install scrapy

B.pip install update scrapy

C.pip install --upgrade scrapy

D.pip --upgrade scrapy


106、新创建的Scrapy项目,项目目录下包含的文件有( ABCD )。[多选题] [2分]

A.items.py

B.middlewares.py

C.pipelines.py

D.settings.py


107、XPath表达式“//table//tr[0]”返回table节点下的第一个tr节点 (错)[2分]


108、Scrapy默认是采用深度优先方式,占用空间大运行速度快。(对)[2分]


109、HTML中标签必须成对出现,有一个开始标签,就必须有一个结束标签。(错)[2分]


110、使用Scrapy框架时,在ITEM_PIPELINES中定义的多个处理工序后的数字越大则优先级越高。(错)[2分]


111、Scheduler(调度器)用于从特定的网页中提取自己需要的信息,即所谓的实体(Item)。(错)[2分]


112、Python网络爬虫的网页解析这一个步骤通常不需要处理由JavaScript生成的部分。(错)[2分]


113、使用代理服务器可以降低爬虫被目标网站封禁的风险。(对)[2分]


114、在XPath语法中,需要查找某个特定的节点或者包含某个指定的值的节点需要使用{谓语},它往往被嵌在方括号中。 [填空题][2分]


115、在操作数据库时,经常会提到对数据库的CRUD操作,其中C代表Create,R代表{Read},U代表{Update},D代表{Delete}。 [填空题][6分]


116、MySQL的默认对外服务端口是{3306} [填空题][2分]


117、Scrapy内置的数据提取机制被称为{Selector} [填空题][2分]


118、在PyMySQL中,使用{Cursor}对象与数据库进行交互,比如查询数据、执行SQL语句。 [填空题][2分]


119、网络爬虫Scrapy框架的下载器,是基于高效异步Python异步网络编程库{twisted}进行开发的。 [填空题][2分]


120、HTTPS是在HTTP的基础上加入了{SSL},采用公开密钥技术提供了身份验证和加密通信方法 [填空题][2分]


121、放置于网站根目录下告诉搜索引擎哪些页面可以抓取的文件是{robots}.txt。 [填空题][2分]


122、在编写Scrapy爬虫时,我们的每一个爬虫都是scrapy.Spider的子类,scrapy.Spider就是父类。那么在Python中没有明确指定父类的类,会从{object}类继承。 [填空题][2分]


123、设置Scrapy项目向同一个网站发起请求的事件间隔(延时),需要在settings.py中修改的配置项是{DOWNLOAD_DELAY}。 [填空题][2分]


124、对于下面的代码

import requests


key_dict = {'wd': 'bigdata'}

r = requests.get('https://www.baidu.com/s', params=key_dict)

print(r.url)

执行结果是{https://www.baidu.com/s?wd=bigdata}。 [填空题][2分]



125、请列出Scrapy框架的各个组件,并简述其作用。[简答题] [10分]


126、请详细描述在浏览器中输入网址“https://www.baidu.com”,按下回车键后浏览器及目标网站的处理流程。[简答题] [10分]


127、对于如下的HTML,请使用xpath语法写出获取到“速冻品”、“宁波风味黑芝麻汤圆”、“/pic/next.jpg”的XPath表达式。[简答题] [10分]

<html>

 <head>

   <title>订单详情</title>

 </head>

 <body>

   <div id="dhl"><h1>速冻品</h1></div>

   <div>

     <ul>

       <li>大黄米0蔗糖黑芝麻汤圆</li>

       <li>宁波风味黑芝麻汤圆</li>

       <li>柿柿如意流心柿子汤圆</li>

     </ul>

   </div>

   <div id="img"><img src="/pic/next.jpg"></div>

 </body>

</html>



学习情境4

128、在浏览器中查看Ajax请求,需要在开发者工具中切换的TAB页是( C )。[单选题]  [2分]

A.Elements

B.Console

C.Network

D.Security


129、使用Python内置json模块的json.loads()方法,JSON中的对象(object)将会转换为Python中的( B )。[单选题]  [2分]

A.对象

B.字典

C.列表

D.元组


130、Python代码“{3,2,1}-{1,2,3}”的执行结果是( D )。[单选题]  [2分]

A.{2,0,-2}

B.{}

C.执行会报错

D.set()


131、在Python中,一个对象格式的json字符串的首字母是( A )。[单选题]  [2分]

A.{

B.(

C.[

D.$


132、在Scrapy框架中,可以对请求消息统一修改User-Agent的中间件是( A )。[单选题]  [2分]

A.Downloader Middleware

B.Spider middleware

C.Schduler Middleware

D.Http middleware


133、规定“任何组织、个人收集数据,应当采取合法、正当的方式,不得窃取或者以其他非法方式获取数据。”的法律法规是( D )。[单选题]  [2分]

A.《中华人民共和国网络安全法》

B.《电信和互联网用户个人信息保护规定》

C.《数据安全管理办法》

D.《中华人民共和国数据安全法》


134、在Python中如果需要对爬取的字符串根据某种分隔符进行分割,使用的函数是( B )。[单选题]  [2分]

A.replace

B.split

C.strip

D.cut


135、在使用网络爬虫获取数据时,经常会遇到图像验证码。OCR是一种可以对图像验证码进行识别的技术。OCR在图像识别领域的具体含义是( D )。[单选题]  [2分]

A.验证码识别

B.图像识别

C.数字字符识别

D.光学字符识别


136、从爬取的数据中截取部分数据,可以使用切片的方法。Python语句“'Python网络爬虫'[2:-2:2]”的切片结果是( A )。[单选题]  [2分]

A.'to网'

B.'yhn络'

C.'ython网络爬'

D.'爬网otP'


137、Anaconda是常用的Python科学开发环境,Anaconda默认不包含的组件是( D )。[单选题]  [2分]

A.conda

B.Python

C.IPython

D.Scrapy


138、在Windows操作系统中,搜索可执行程序和库的顺序是( C )。[单选题]  [2分]

A.System32目录—当前目录—PATH环境变量

B.当前目录—PATH环境变量—System32目录

C.当前目录—System32目录—PATH环境变量

D.System32目录—PATH环境变量—当前目录


学习情境4


139、在Scrapy框架中,可以下载网页到本地并用浏览器打开的scrapy命令是( A )。[单选题]  [2分]

A.scrapy view https://www.baidu.com

B.scrapy fetch https://www.baidu.com

C.scrapy shell https://www.baidu.com

D.scrapy crawl https://www.baidu.com


140、在HTML中,用于定义段落的标签是( D )。[单选题]  [2分]

A.<div>

B.<span>

C.<h>

D.<p>


141、对于如下的json字符串,如果在转换成Python对象students后,能正确获取到姓名“孙小美”的语句是( C )。[单选题]  [2分]

import json


json_string= '[{"id": "193213", "names": "阿土伯"}, {"id": "193214", "name": "孙小美"}]'

students = json.loads(json_string)

A.students[id='193214']['name']

B.students[1][1]

C.students[1]['name']

D.students[1].name


142、json.dumps()函数是将已编码的JSON字符串解码为python对象。 (错)[2分]


143、使用Python的内置json模块,{loads}方法可以将字符串转为 Python 对象。 [填空题][2分]


144、使用BeautifulSoup解析网页时,find_all()方法返回的结果的数据类型是{列表}。 [填空题][2分]


145、Python语言中,表达式[3,2,1][-2]的值是{2} [填空题][2分]


146、Python语句len(range(1,3))返回的结果是{2} [填空题][2分]



147、JSON使用{JavaScript}语法来描述数据对象,但是 JSON 仍然独立于语言和平台 [填空题][2分]



148、使用Python语言编程,使用import将导入的库my_module重命名为m_module的语句是{import my_module as m_module}。 [填空题][2分]



149、JSON字符串“{"id": "1001", "score": 88}”将会被转换为Python中的字典 )[2分]


150、在JSON格式中,可以使用单引号或者双引号来表示字符串。 )[2分]


151、HTML是在XML的基础上发展起来的一种语言。 )[2分]


152、动态网页和静态网页相比,增加了各种动态效果,比如GIF图像、FLASH动画、滚动字幕等,视觉效果更好。 )[2分]


153、使用Scrapy框架编写爬虫项目,下面需要程序员自己编码实现的功能包括( ABC )。[不定项题]  [2分]

A.指定爬取的数据的结构

B.指定要爬取的网页地址

C.解析获取的网页

D.对发送的请求进行调度


154、在保存爬取的数据时,经常需要对数据进行拼接。下面能正确运行的代码包括( BC )。[不定项题]  [2分]

A.x = '1'*2

B.x = '1'*2

C.x = '1'+'2'

D.x = '1'*'2'


155、网络爬虫获取到JSON格式的数据,很多时候会转换为一个Python字典。下面能够正确定义一个字典的语句有( AD )。[不定项题]  [2分]

A.dic = {}

B.dic = {'name'='张三'}

C.dic = {'张三', '85', '91'}

D.dic = {1:2, 2:3}


156、在JSON格式中,键值对(名称/值)中的值的类型可以是( ABCD )。[不定项题]  [2分]

A.数字

B.数组

C.字符串

D.布尔值



157、在使用Python网络爬虫爬取网页时,如果返回了200 OK,但是爬取结果中没有待爬数据,可能的原因包括( AB )。[不定项题]  [2分]

A.所爬网页是动态网页

B.网站要求登录

C.爬虫与网站之间网络不通

D.服务器临时故障


158、能够从“2023年,重庆地区生产总值30145.79亿元,比上年增长6.1%”中同时匹配出“2023”、“30145.79”和“6.1”的正则表达式是( BC )。[不定项题]  [2分]

A.\d*.\d+

B.\d+.\d+

C.\d[\.|\d+]*

D.\d*.\d*


159、使用网络爬虫下载他人画作,以下属于合法使用的是( AC )。[不定项题]  [2分]

A.个人学习、研究或者欣赏

B.打包出售

C.为介绍作品而适当引用

D.进行二次加工后转发


160、HTTP协议是当前网络访问常用的协议,关于HTTP协议下列说法正确的包括 ( ABCD )。[不定项题]  [2分]

A.HTTP是应用层协议

B.HTTP是无状态协议

C.HTTP是面向连接的

D.HTTP请求和响应消息的头以ASCII形式给出


161、数据采集是大数据的基础,以下属于数据采集行为的是( ABCD )。[不定项题]  [2分]

A.网络爬虫对网络数据进行爬取

B.数据库工具读取数据库

C.街头发放调查问卷

D.传感器监控发动机水温


162、在Python语言中,属于有序序列的有( ABD )。[不定项题]  [2分]

A.字符串

B.数组

C.字典

D.元组


163、对于爬虫框架Scrapy的描述正确的有( ACD )。[不定项题]  [2分]

A.Scrapy是一个异步爬虫框架

B.Scrapy学习门槛低,方便初学者使用

C.Scrapy支持分布式、多线程爬取

D.Scrapy项目只能在命令行创建


164、对于下面对于JSON格式的描述,正确的有( ABC )。[不定项题]  [2分]

A.JSON格式比XML格式更简洁

B.JSON格式独立于编程语言

C.JSON格式是一种文本存储格式

D.JSON格式支持多种注释形式


165、在Python网络爬虫中,request对象能够获取网页数据的方法包括( AB )。[不定项题]  [2分]

A.request.get

B.request.post

C.request.download

D.request.send


166、网络爬虫的基本原理是模拟浏览器的行为,向网站发送请求,获取网页上的数据。其具体的工作流程包括( ABCD )。[不定项题]  [2分]

A.发送请求

B.解析网页

C.接收响应

D.保存数据


167、在Python网络爬虫中经常遇到中文字符编码问题,以下的字符编码中能表示汉字的包括( ABCD )。[不定项题]  [2分]

A.GBK

B.GB2312

C.UTF-8

D.GB18030


168、请简述静态网页和动态网页的区别,以及在爬取时使用的不同方法。[简答题] [10分]


169、请写出从网站上获取所有超链接、所有图片地址的XPath表达式。[简答题] [10分]


学习情境5

170、在Python中,可以解析网页的库是( B )。[单选题]  [2分]

A.Requests

B.BeautifulSoup

C.Selinum

D.Scrapy


171、使用Scrapy框架爬取网络数据时,如果需要定位到所有的div标签,应该使用的定位器是( D )。[单选题]  [2分]

A.By.CLASS_NAME

B.By.ID

C.By.NAME

D.By.TAG_NAME


172、使用with open打开文件保存图片数据时,应该使用的文件打开模式是( C )。[单选题]  [2分]

A.w

B.a

C.wb

D.w+


173、使用Requests库下载图片,应该使用响应Response对象的属性是( B )。[单选题]  [2分]

A.text

B.content

C.comment

D.image


174、使用Selinum Webdriver在页面上定位元素的首选方式是( C )。[单选题]  [2分]

A.根据class name定位

B.根据tag name定位

C.根据id定位

D.根据xpath定位

答案解析:HTML的id是唯一的且是可预测的,是在页面上定位元素的首选方法。使用id定位工作速度非常快,可以避免复杂的 DOM 遍历带来的大量处理。


175、爬虫经常需要获取网页上的链接,在HTML中用于指定链接的URL地址的属性是( B )。[单选题]  [2分]

A.target

B.href

C.src

D.alter



176、如果要进行图形图像的处理,可以使用的Python库是( C )。[单选题]  [2分]

A.Selinum

B.Pillow

C.BeautifuSoup

D.mechanize

答案解析:Selinum用于模拟用户操作,Pillow用于图像处理,BeautifulSoup用于解析网页,mechanize用于访问网页。


177、使用Pillow.Image类从图像中截取子矩形的方法是( A )。[单选题]  [2分]

A.crop

B.transpose

C.rotate

D.split


178、不属于Python可变类型的是( B )。[单选题]  [2分]

A.列表(list)

B.元组(tuple)

C.字典(dict)

D.集合(set)


179、以下保持登录状态的技术中,客户端不需要浏览器也能使用的是( B )。[单选题]  [2分]

A.Cookie保持登录状态

B.Token保持登录状态

C.Session保持登录状态

D.HTTP Auth保持登录状态


180、在Selenium框架中,模拟按下辅助按键(Alt/Shift/Ctrl)需要使用的方法是( B )。[单选题]  [2分]

A.click

B.key_down

C.key_up

D.send_keys


181、在Python中提供正则表达式功能的模块是( A )。[单选题]  [2分]

A.partern

B.transpose

C.rotate

D.split


182、在Selenium框架中,模拟用户点击鼠标右键的命令是( D )。[单选题]  [2分]

A.click

B.click_and_hold

C.double_click

D.context_click


183、Selenium框架的工作原理是代替用户直接向网站服务器发起请求 (错)[2分]


184、无头(headless)浏览器由于没有界面,所以不能执行点击和翻页操作。(错)[2分]


185、使用Selenium Webdriver的driver.{maximize_window}()方法可以扩大窗口,使窗口填满屏幕。 [填空题][2分]


186、Python语言的Thread类中用来等待线程中止的方法是{join}()。[填空题][2分]


187、在Python语言中,类方法的第一个参数必须是{self}。[填空题][2分]


188、在Python语言中,去除字符串左边的空格可以使用字符串函数{lstrip}(),去除字符串右边的空格可以使用字符串函数{rstrip}()。[填空题][4分]


189、在Python面向对象编程中,创建对象时会自动被调用的初始化方法的方法名是{__init__}。 [填空题][2分]


190、使用Selenium模拟用户访问网页时,{句柄}是标签页窗口的唯一标识,可以通过它来实现标签页的切换。[填空题][2分]


191、真彩色图像的“RGB”颜色标准中的RGB分别是{Red}、{Green}、{Blue}这三个英文单词的首字母。[填空题][6分]



192、关于无头(headless)浏览器,下面哪些说法正确的是( BC )。[不定项题]  [2分]

A.无头浏览器不显示HTML网页中的<head></head>部分

B.无头浏览器没有图形用户界面部分

C.无头浏览器比普通浏览器更快

D.无头浏览器更加方便调试和解决问题

答案解析:无头浏览器没有图形用户界面部分,所以运行速度更快,但是更加难以调试。


193、属于非结构化数据的有( AD )。[不定项题]  [2分]

A.视频

B.HTML

C.JSON

D.TXT


194、关于Python语言中的yield语法的下列描述,正确的是( B )。[不定项题]  [2分]

A.使用yield的函数成为一个生成器

B.yield语法比普通的循环更节省内存空间

C.name

D.start_requests


195、无头浏览器PhantomJS的主要应用场景包括( ABC )。[不定项题]  [2分]

A.自动化测试

B.网页截屏

C.网络监控

D.用户浏览网页


196、网络爬虫经常需要处理验证码,通常验证码属于一种CAPTCHA。关于CAPTCHA以下说法正确的有( ABC )。[不定项题]  [2分]

A.CAPTCHA是一种图灵测试

B.CAPTCHA能区分计算机和人类

C.CAPTCHA可以防止刷票

D.CAPTCHA能识别用户信息


197、以下不属于图像的文件后缀包括( D )。[不定项题]  [2分]

A.jpg

B.png

C.bmp

D.TTF


198、关于Python中线程与进程,下面哪些说法是正确的?( BD )。[不定项题]  [2分]

A.线程是操作系统资源分配的基本单位

B.线程是CPU任务调度和执行的基本单位

C.在进程之间切换比在线程之间切换要快

D.启动线程比启动进程的速度更快


199、使用Selinum爬取网页通常需要进行等待,下面关于等待的说法正确的是( ACD )。[不定项题]  [2分]

A.使用time.sleep()方法性能较低

B.结合使用显式等待和隐式等待效果最佳

C.显式等待会在指定超时事件内等待条件满足

D.隐式等待一旦设置就会在driver的整个生命周期生效


200、在Python中打开文件后,能够进行写入操作的打开模式有( ABCD )。[不定项题]  [2分]

A.w

B.a

C.r+

D.w+