Python网络爬虫技术项目教程 练习题答案_第1页
Python网络爬虫技术项目教程 练习题答案_第2页
Python网络爬虫技术项目教程 练习题答案_第3页
Python网络爬虫技术项目教程 练习题答案_第4页
Python网络爬虫技术项目教程 练习题答案_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第一章爬取静态网页一、选择题1.A2.C3.A4.D5.D简答题1.请简述Requests的基本功能Requests是一个基于Apache2协议开源的PythonHTTP库,号称是“为人类准备的HTTP库”。以上是Requests官网对其模块的总体介绍。Requests完全满足当今Web的需求:Keep-Alive&连接池国际化域名和URL带持久Cookie的会话浏览器式的SSL认证自动内容解码基本/摘要式的身份认证优雅的key/valueCookie自动解压Unicode响应体HTTP(S)代理支持文件分块上传流下载连接超时分块请求支持.netrc2.Cookies的定义?Cookie是请求头的一部分,同时也web浏览器的凭证,根据实际情况,有时候要指定Cookie参数,requests将Cookie从中剥离出来,可以使用cookies参数直接指定。3.简述从Response对象(r)中可以获取到的内容从Response对象(r)中可以获取到:实际请求的URL:r.url推测的文本编码:r.encoding二进制相应内容:r.contentJSON相应内容:r.json()原始相应内容:r.raw响应状态码:r.status_code响应头:r.headersCookie:r.cookies响应历史:r.history4.简述一下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.D2.C3.C4.B5.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内核、无界面的浏览器,即它就是一个浏览器,只是其内的点击、翻页等人为相关操作需要程序设计实现;PhantomJS提供JavascriptAPI接口,可以通过编写JS程序直接与webkit内核交互;PhantomJS的应用:无需浏览器的Web测试、网页截屏、页面访问自动化、网络监测。4.简述Selenium框架的作用Selenium是支持web浏览器自动化的一系列工具和库的综合项目。它提供了扩展来模拟用户与浏览器的交互,用于扩展浏览器分配的分发服务器,以及用于实现

W3CWebDriver规范的基础结构,该规范允许您为所有主要Web浏览器编写可互换的代码。Selenium的核心是

WebDriver,这是一个编写指令集的接口,可以在许多浏览器中互换运行。5.简述WebDriver的定位策略定位器Locator描述classname定位class属性与搜索值匹配的元素(不允许使用复合类名)cssselector定位CSS选择器匹配的元素id定位id属性与搜索值匹配的元素name定位name属性与搜索值匹配的元素linktext定位linktext可视文本与搜索值完全匹配的锚元素partiallinktext定位linktext可视文本部分与搜索值部分匹配的锚点元素。如果匹配多个元素,则只选择第一个元素。tagname定位标签名称与搜索值匹配的元素xpath定位与XPath表达式匹配的元素第三章爬取APP数据一、选择题1.C2.A3.A4.A5.B二、简答题1.简述Fiddler的功能 Fiddler是一个HTTP的调试代理,以代理服务器的方式,监听系统的HTTP网络数据流动。Fiddler可以让你检查所有的HTTP通讯,设置断点,以及Fiddler所有的“进出”的数据。Fiddler还包含一个简单却功能强大的基于JScript.NET事件脚本子系统,它可以支持众多的HTTP调试任务。2.Fiddler的主界面监控面板中,Web会话性能统计信息可以直接在监控面板中的什么窗口查看? Statistics窗口3.Fiddler的主界面监控面板中,Web网络会话内容可以直接在监控面板中的什么窗口查看? Inspectors窗口4.查看一个或多个Web会话的传输时间线的瀑布图可以直接在监控面板中的什么窗口查看?TimeLine窗口 5.简述Fiddler的主界面面板 工具面板、会话面板、监控面板、状态面板第四章反爬虫策略以及解决办法一、选择题1.D2.B3.D4.A5.C二、简答题1.简述三种反爬虫策略以及其反爬策略内容反爬虫策略之Headers:Headers是指网络请求的头部信息,也就是网络请求过程中所携带的描述信息,允许您对HTTP请求和响应头执行各种操作。基于Headers的反爬虫策略常见的为:根据User-Agent识别浏览器行为;根据Cookie识别用户信息;根据Referer识别链路、根据Content-Type识别数据类型。 反爬虫策略之Cookie:Cookie是请求头的一部分,同时也web浏览器的凭证,根据实际情况,有时候要指定Cookie参数。requests将Cookie从中剥离出来,可以使用cookies参数直接指定。在爬取有些网页是要求登录之后的才能爬取,所以要和服务器一直保持登录状态,有时的策略不都指定cookies,而是会使用session来完成,Session提供的API和requests是一样的,并且可将Cookie自动保存。反爬虫策略之Proxies:服务器会针对用户操作对用户行为进行记录,当根据规则匹配识别为程序操作,可能会进行IP封禁的操作。当我们发现IP已经被封了,此IP就再也访问不到目标网站了。为了面对封禁IP的操作,我们可以:做更完善的设置,避免浏览器识别并封禁IP;使用代理IP,隐藏真实IP;设置好访问间隔,避免服务器压力过大。2.简单介绍Tesseract,并列举出Pytesseract的函数Tesseract,一款由HP实验室开发由Google维护的开源OCR(OpticalCharacterRecognition,光学字符识别)引擎,与MicrosoftOfficeDocumentImaging(MODI)相比,我们可以不断的训练的库,使图像转换文本的能力不断增强;如果团队深度需要,还可以以它为模板,开发出符合自身需求的OCR引擎函数描述get_languages返回PytesseractOCR当前支持的所有语言。get_tesseract_version返回安装在系统中的Pytesseract版本。image_to_string返回未修改的输出作为字符串从PytesseractOCR处理image_to_boxes包含识别字符及其框边界的返回结果image_to_data返回结果包含框边界、信任和其他信息。image_to_osd返回结果包含有关方向和脚本检测的信息。image_to_alto_xml返回以Pytesseract的ALTOXML格式的形式产生。run_and_get_output返回PytesseractOCR的原始输出。第五章反爬策略优化一、选择题1.C2.A二、简答题1.程序连接了Redis后,就可以使用API操作Redis中的数据,其中:set(name,value,ex=None,px=None,nx=False,xx=False),参数分别代表什么意思?其中参数分别是:name:指定存储的key,如果相同,value会被覆盖value:设置key对应存储

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论