网站大量收购独家精品文档,联系QQ:2885784924

Python网络爬虫技术项目教程 练习题答案.docx

Python网络爬虫技术项目教程 练习题答案.docx

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

第一章爬取静态网页

一、选择题

1.A

2.C

3.A

4.D

5.D

简答题

1.请简述Requests的基本功能

Requests是一个基于Apache2协议开源的PythonHTTP库,号称是“为人类准备的HTTP库”。以上是Requests官网对其模块的总体介绍。

Requests完全满足当今Web的需求:

Keep-Alive连接池

国际化域名和URL

带持久Cookie的会话

浏览器式的SSL认证

自动内容解码

基本/摘要式的身份认证

优雅的key/valueCookie

自动解压

Unicode响应体

HTTP(S)代理支持

文件分块上传

流下载

连接超时

分块请求

支持.netrc

2.Cookies的定义?

Cookie是请求头的一部分,同时也web浏览器的凭证,根据实际情况,有时候要指定Cookie参数,requests将Cookie从中剥离出来,可以使用cookies参数直接指定。

3.简述从Response对象(r)中可以获取到的内容

从Response对象(r)中可以获取到:

实际请求的URL:r.url

推测的文本编码:r.encoding

二进制相应内容:r.content

JSON相应内容:r.json()

原始相应内容:r.raw

响应状态码:r.status_code

响应头:r.headers

Cookie:r.cookies

响应历史:r.history

4.简述一下BeautifulSoup的作用

BeautifulSoup是一个HTML/XML的解析器,主要的功能是解析和提取HTML/XML数据。BeautifulSoup支持Python标准库中的HTML解析器,还支持一些第三方的解析器。通常情况下我们不会使用Python默认的解析器,而是使用lxml解析器,lxml解析器更加强大,速度更快,推荐使用lxml解析器。

5.简述Scrapy架构中包含的组件

引擎(ScrapyEngine)

用来处理整个系统的数据流(框架核心)

调度器(Scheduler)

用来接受引擎发过来的请求,压入队列中,并在引擎再次请求的时候返回.可以想像成一个URL(抓取网页的网址或者说是链接)的优先队列,由它来决定下一个要抓取的网址是什么,同时去除重复的网址

下载器(Downloader)

用于下载网页内容,并将网页内容返回给蜘蛛(Scrapy下载器是建立在twisted这个高效的异步模型上的)

爬虫(Spiders)

爬虫是主要干活的,用于从特定的网页中提取自己需要的信息,即所谓的实体(Item)。用户也可以从中提取出链接,让Scrapy继续抓取下一个页面

项目管道(ItemPipeline)

负责处理爬虫从网页中抽取的实体,主要的功能是持久化实体、验证实体的有效性、清除不需要的信息。当页面被爬虫解析后,将被发送到项目管道,并经过几个特定的次序处理数据。

下载器中间件(DownloaderMiddlewares)

位于Scrapy引擎和下载器之间的框架,主要是处理Scrapy引擎与下载器之间的请求及响应。

爬虫中间件(SpiderMiddlewares)

介于Scrapy引擎和爬虫之间的框架,主要工作是处理蜘蛛的响应输入和请求输出。

调度中间件(SchedulerMiddewares)

介于Scrapy引擎和调度之间的中间件,从Scrapy引擎发送到调度的请求和响应。

第二章爬取动态网页

一、选择题

1.D

2.C

3.C

4.B

5.C

简答题

1.简述JSON对象的书写方式

JSON对象使用在大括号({})中书写,对象可以包含多个?key/value(键/值)对。其中:

key必须是字符串,value可以是合法的JSON数据类型(字符串,数字,对象,数组,布尔值或null)。

key和value中使用冒号(:)分割。

每个key/value对使用逗号(,)分割。

2.简述JSON的基本概念

JSON(JavaScript?ObjectNotation,JS对象简谱)是一种轻量级的数据交换格式。它基于ECMAScript(欧洲计算机协会制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得JSON成为理想的数据交换语言。易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。

3.PhantomJS的特点

PhantomJS有如下特点:

PhantomJS是一个基于webkit内核、无界面的浏览器,即它就是一个浏览器,只是其内的点击、翻页等人为相关操作需要程序设计实现;

P

文档评论(0)

balala11 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档