Python网络爬虫与信息提取(第7期) 测验1: Python网络爬虫之规则

共10道单选题,固定题目,限作答1次,10分钟

1.Requests库中,下面哪个最可能是由于URL格式错误造成异常?‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬(A)
A.requests.URLRequired
B.requests.TooManyRedirects
C.requests.HTTPError
D.requests.ConnectionTimeout

正确答案 A
URL格式错误,一般指URL格式不符合规范导致无法建立连接,通常会产生URLRequired错误。如果URL格式正确,可能触发Timeout类错误。

2.在Requests库中,体现推送数据操作的函数是:‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬ (B)
A.delete()
B.patch()
C.head()
D.get()

正确答案 B
数据推送(push model)一般指将数据发送出去的行为。在Requests库中,post()、put()、patch()都体现这种行为模式。

3.在Requests库中,以下哪个函数是基础性函数?即,只需要一个函数即可完成全部功能。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬ (A)
A.request()
B.delete()
C.get()
D.post()

正确答案 A
request()是其他所有函数的基础函数,完成所有功能,其它函数只是它的一种封装形式。

4.以下选项不是Python Requests库提供方法的是:‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬ (B)
A .head()
B .push()
C .post()
D .get()

正确答案 B
Requests库共有7个主要方法:request()、get()、head()、post()、put()、patch()、delete(),名字基本与HTTP的操作相同。

5.Requests库中,检查Response对象返回是否成功的状态属性是:‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪(B)‬‮‬‫‬‮‬
A .raise_for_status
B .status_code
C .status
D .headers

正确答案 B
r.status_code,200表示连接成功,404表示失败。

6.Requests库中,以下代表从服务器返回HTTP协议头所推荐编码方式的属性是:‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬ (B)
A .text
B .encoding
C .headers
D .apparent_encoding

正确答案 B
.encoding是从HTTP header中猜测获得的响应内容编码方式。

7.Requests库中,以下代表从服务器返回HTTP协议内容部分猜测获得编码方式的属性是:‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬ (B)
A .text
B .apparent_encoding
C .headers
D .encoding

正确答案 B
.apparent_encoding是从内容中分析出的编码方式,一般作为备选编码方式。

8.Requests库中,下面哪个是由于DNS查询失败造成的获取URL异常?‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬( C)
A requests.URLRequired
B requests.Timeout
C requests.ConnectionError
D requests.HTTPError

正确答案 C
DNS失败将造成网络连接错误,因此产生连接错误异常。

9.Requests库中的get()方法最常用,下面哪个说法正确?‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬ (A)
A.服务器因为安全原因对其他方法进行限制,所以,get()方法最常用。
B.HTTP协议中GET方法应用最广泛,所以,get()方法最常用。
C.网络爬虫主要进行信息获取,所以,get()方法最常用。
D.get()方法是其它方法的基础,所以最常用。

正确答案 A
get()方法最常用的原因在于服务器端对push()、post()、patch()等数据推送的限制,试想,如果允许大家向服务器提交数据,将带来无穷无尽的安全隐患。因此,通过get()获取数据,服务器作为数据提供方而不是接收方,更为安全。

10.下面哪些功能网络爬虫做不到?‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬
A.爬取某个人电脑中的数据和文件。
B.爬取网络公开的用户信息,并汇总出售。
C.持续关注某个人的微博或朋友圈,自动为新发布的内容点赞。
D.分析教务系统网络接口,用程序在网上抢最热门的课。

正确答案 A
个人电脑中数据没有联网且没有通过Web服务器以URL形式被网络访问,则不能用爬虫获取。
切记,及时能爬取数据,数据的知识产权仍然受保护,商业获利(出售)将涉嫌违法。

你可能感兴趣的:(Python网络爬虫与信息提取(第7期) 测验1: Python网络爬虫之规则)