Python网络爬虫与信息提取第一周测验答案

测验1: Python网络爬虫之规则 (第1周)

1. Requests库中,下面哪个最可能是由于URL格式错误造成异常?‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬

  • A requests.HTTPError
  • B requests.TooManyRedirects
  • C requests.URLRequired
  • D requests.ConnectionTimeout

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

2. 在Requests库中,体现推送数据操作的函数是:‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬

  • A head()
  • B delete()
  • C get()
  • D patch()

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

3. 在Requests库中,以下哪个函数是基础性函数?即,只需要一个函数即可完成全部功能。‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬

  • A post()
  • B request()
  • C delete()
  • D get()

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

4. 以下选项不是Python Requests库提供方法的是:‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬

  • A .get()
  • B .head()
  • C .push()
  • D .post()

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

5. Requests库中,检查Response对象返回是否成功的状态属性是:‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬

  • A .raise_for_status
  • B .status_code
  • C .headers
  • D .status

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

6. Requests库中,以下代表从服务器返回HTTP协议头所推荐编码方式的属性是:‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬

  • A .text
  • B .headers
  • C .encoding
  • D .apparent_encoding

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

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

  • A .headers
  • B .encoding
  • C .text
  • D .apparent_encoding

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

8. Requests库中,下面哪个是由于DNS查询失败造成的获取URL异常?‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬

  • A requests.ConnectionError
  • B requests.HTTPError
  • C requests.Timeout
  • D requests.URLRequired

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

9. Requests库中的get()方法最常用,下面哪个说法正确?‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬

  • A 网络爬虫主要进行信息获取,所以,get()方法最常用。
  • B get()方法是其它方法的基础,所以最常用。
  • C 服务器因为安全原因对其他方法进行限制,所以,get()方法最常用。
  • D HTTP协议中GET方法应用最广泛,所以,get()方法最常用。

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

10. 下面哪些功能网络爬虫做不到?‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬

  • A 分析教务系统网络接口,用程序在网上抢最热门的课。
  • B 持续关注某个人的微博或朋友圈,自动为新发布的内容点赞。
  • C 爬取某个人电脑中的数据和文件。
  • D 爬取网络公开的用户信息,并汇总出售。

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

你可能感兴趣的:(Python网络爬虫与信息提取,数据分析,网络,python)