Python 爬虫环境与爬虫简介.ppt

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

大数据,成就未来*大数据挖掘专家*大数据挖掘专家大数据,成就未来*大数据挖掘专家*大数据挖掘专家Python爬虫环境与爬虫简介*1认识反爬虫目录认识爬虫2配置Python爬虫环境3小结4网络爬虫也被称为网络蜘蛛、网络机器人,是一个自动下载网页的计算机程序或自动化脚本。网络爬虫就像一只蜘蛛一样在互联网上沿着URL的丝线爬行,下载每一个URL所指向的网页,分析页面内容。爬虫的概念目前,多数网站允许将爬虫爬取的数据用于个人使用或者科学研究。但如果将爬取的数据用于其他用途,尤其是转载或者商业用途,严重的将会触犯法律或者引起民事纠纷。以下两种数据是不能爬取的,更不能用于商业用途。个人隐私数据:如姓名、手机号码、年龄、血型、婚姻情况等,爬取此类数据将会触犯个人信息保护法。明确禁止他人访问的数据:例如用户设置了账号密码等权限控制,进行了加密的内容。还需注意版权相关问题,有作者署名的受版权保护的内容不允许爬取后随意转载或用于商业用途。爬虫的合法性与robot.txt协议1.爬虫的合法性当使用一个爬虫爬取一个网站的数据时,需要遵守网站所有者针对所有爬虫所制定的协议,这便是robot.txt协议。该协议通常存放在网站根目录下,里面规定了此网站那些内容可以被爬虫获取,及哪些网页是不允许爬虫获取的。爬虫的合法性与robot.txt协议2.robot.txt协议1认识反爬虫目录认识爬虫2配置Python爬虫环境3小结4浏览器在发送请求的时候,会附带一部分浏览器及当前系统环境的参数给服务器,服务器会通过User-Agent的值来区分不同的浏览器。网站反爬虫的目的与手段1.通过User-Agent校验反爬普通用户通过浏览器访问网站的速度相对爬虫而言要慢的多,所以不少网站会利用这一点对访问频度设定一个阈值,如果一个IP单位时间内访问频度超过了预设的阈值,将会对该IP做出访问限制。通常需要经过验证码验证后才能继续正常访问,严重的甚至会禁止该IP访问网站一段时间。网站反爬虫的目的与手段2.通过访问频度反爬有部分网站不论访问频度如何,一定要来访者输入验证码才能继续操作。例如12306网站,不管是登陆还是购票,全部需要验证验证码,与访问频度无关。网站反爬虫的目的与手段3.通过验证码校验反爬一些社交网站常常会更换网页结构,而爬虫大部分情况下都需要通过网页结构来解析需要的数据,所以这种做法也能起到反爬虫的作用。在网页结构变换后,爬虫往往无法在原本的网页位置找到原本需要的内容。网站反爬虫的目的与手段4.通过变换网页结构反爬部分网站需要登录才能继续操作,这部分网站虽然并不是为了反爬虫才要求登录操作,但确实起到了反爬虫的作用。例如微博查看评论就需要登录账号。网站反爬虫的目的与手段5.通过账号权限反爬针对之前介绍的常见的反爬虫手段,可以制定对应的爬取策略如下。发送模拟User-Agent:通过发送模拟User-Agent来通过检验,将要发送至网站服务器的请求的User-Agent值伪装成一般用户登录网站时使用的User-Agent值。调整访问频度:通过备用IP测试网站的访问频率阈值,然后设置访问频率比阈值略低。这种方法既能保证爬取的稳定性,又能使效率又不至于过于低下。通过验证码校验:使用IP代理,更换爬虫IP;通过算法识别验证码;使用cookie绕过验证码。应对网站结构变化:只爬取一次时,在其网站结构调整之前,将需要的数据全部爬取下来;使用脚本对网站结构进行监测,结构变化时,发出告警并及时停止爬虫。通过账号权限限制:通过模拟登录的方法进行规避,往往也需要通过验证码检验。通过代理IP规避:通过代理进行IP更换可有效规避网站检测,需注意公用IP代理池是网站重点监测对象。爬取策略制定1认识反爬虫目录认识爬虫2配置Python爬虫环境3小结4目前Python有着形形色色的爬虫相关库,按照库的功能,整理如下。Python爬虫相关库介绍与配置Python爬虫相关库类型库名简介通用urllibPython内置的HTTP请求库,提供一系列用于操作URL的功能requests基于urllib,采用Apache2Licensed开源协议的HTTP库urllib3提供很多Python标准库里所没有的重要特性:线程安全,连接池,客户端SSL/TLS验证,文件分部编码上传,协助处理重复请求和HTTP重定位,支持压缩编码,支持HTTP和SOCKS代理,100%测试覆盖率框架scrapy一个为了爬取网站数据,提取结构性数据而编写的应用框架HTML/XML解析器

文档评论(0)

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

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

1亿VIP精品文档

相关文档