《数据采集技术》课件-项目一 任务1 认识爬取_第1页
《数据采集技术》课件-项目一 任务1 认识爬取_第2页
《数据采集技术》课件-项目一 任务1 认识爬取_第3页
《数据采集技术》课件-项目一 任务1 认识爬取_第4页
《数据采集技术》课件-项目一 任务1 认识爬取_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

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

文档简介

数据采集技术项目一:爬取百度首页项目

背景随着互联网的迅速发展,网络爬虫技术在信息获取、数据处理和分析等领域的应用越来越广泛。本项目旨在通过Python编程实现一个简单的网络爬虫,实现对百度首页的基本信息爬取,包括标题、描述、关键词等,同时可以了解网站的基本结构和信息展示方式,为后续的数据处理及分析提供基础数据和支持。目录01任务一认识爬虫02任务二使用浏览器开发者工具03任务三爬取百度首页任务一:认识爬虫

有趣的君子协议

2000年,eBay与Bidder'sEdge(BE)之间产生了一系列法律纠纷。Bidder'sEdge是一家在线价格比较网站,其运营依赖于从多个网站抓取数据来为消费者提供商品价格比较服务,网站69%的拍卖信息都来自eBay,而eBay是当时互联网拍卖领域的巨头。eBay为了保护自身的系统资源、用户体验以及商业利益等,在其网站设置了robots.txt文件,明确禁止BE的蜘蛛程序抓取其网站内容。据估算,BE如果停止抓取eBay内容,意味着BE将损失至少三分之一的用户。因此,BE无视eBay的robots.txt协议,继续抓取eBay的拍卖信息。eBay与BE数次沟通交涉未果后,将Bidder'sEdge告上联邦法庭,要求禁止Bidder'sEdge的违规抓取行为。任务描述爬虫程序指能够自动从相关网页中搜索与提取所需数据的程序,提取与存储这些数据是进行数据分析的前提与关键。Python语言因其简单、易读、可扩展的特性,在编写爬虫程序方面有特别优势。通过本任务学习,同学们将了解爬虫的基本概念、原理及分类,并能够正确使用网络爬虫技术,遵守法律法规,合法有序地爬取数据。任务目标了解网络基础知识0201掌握网络爬虫的基本概念及工作过程会判断网站结构并确定正确爬取策略0403掌握robots.txt协议使用方法1.1.1爬虫的概念1.1.1什么是爬虫网络爬虫是一种自动化程序或脚本,用于模拟浏览器行为,按照特定规则抓取互联网信息并提取有用数据的程序1.1.1爬虫的概念如果我们把互联网比作一张大的蜘蛛网,数据便是存放于蜘蛛网的各个节点,而爬虫就是一只小蜘蛛,沿着网络抓取自己的猎物(数据)爬虫指的是:向网站发起请求,获取资源后分析并提取有用数据的程序;从技术层面来说就是通过程序模拟浏览器请求站点的行为,把站点返回的HTML代码/JSON数据/二进制数据(图片、视频)

爬到本地,进而提取自己需要的数据,存放起来使用;1.1.2爬虫的合法性目前,多数网站允许将爬虫爬取的数据用于个人使用或者科学研究。但如果将爬取的数据用于其他用途,尤其是转载或者商业用途,则依据各网站的具体情况有不同的后果,严重的将会触犯法律或者引起民事纠纷。同时,也需要注意,以下两种数据是不能爬取的,更不能用于商业用途:(1)个人隐私数据,如姓名、手机号码、年龄、血型、婚姻情况等,爬取此类数据将会触犯个人信息保护法。(2)明确禁止他人访问的数据,例如,用户设置过权限控制的账号、密码或加密过的内容等。

另外,还需注意版权相关问题,有作者署名的受版权保护的内容不允许爬取后随意转载或用于商业用途。1.1.3爬虫的价值爬虫的价值可以捕获网站的时间线追踪,以帮助诊断性能问题监控网页性能可通过爬取前端的数据,来监控网站数据是否有异常(比如数据掉0)。如果数据异常,可发告警到数据人员。监控网页数据比如想要测试一个前端页面的兼容性、前端页面UI是否有bug,只需要模拟执行表单提交、键盘输入等页面操作。UI自动化测试比如比价购物、各种热搜排行、舆情追踪、新闻追踪等等。爬取网页数据020401031.1.3爬虫的价值爬虫基本原理1.Python爬虫的工作过程爬虫的工作原理其实和使用浏览器访问网页的工作原理是完全一样的,根据HTTP协议来获取网页内容的。其工作流程主要包括如下两个步骤:连接DNS域名服务器,将待抓取的URL进行域名解析。连接解析根据HTTP协议,发送HTTPrequest请求和response响应来获取网页内容。发送获取1.1.4爬虫的分类1)通用爬虫通用网络爬虫又称为全网爬虫,该类爬虫比较适合为搜索引擎搜索广泛的主题,主要由搜索引擎或大型Web服务提供商使用。2)聚焦网络爬虫聚焦网络爬虫又被称作主题网络爬虫,其最大的特点是只选择性地爬行与预设的主题相关的页面。3)增量式网络爬虫增量式网络爬虫只对已下载网页采取增量式更新或只爬行新产生的及已经发生变化的网页4)深层网络爬虫深层页面为大部分内容无法通过静态链接获取,隐藏在搜索表单后的,需要用户提交关键词后才能获得的Web页面。按照系统和运作原理1.1.5反爬机制

(1)第一种反爬机制:robots.txt协议明确规定了网站中哪些数据可以被爬取哪些不可以被爬取。(2)通过User-Agent校验反爬浏览器在发送请求的时候,会附带一部分浏览器及当前系统环境的参数给服务器,服务器会通过User-Agent的值来区分不同的浏览器。(3)通过访问频度反爬网站会对普通用户访问频度设定一个阈值,如果一个IP单位时间内访问频度超过了预设的阈值,将会对该IP做出访问限制。通常需要经过验证码验证后才能继续正常访问,严重的甚至会禁止该IP访问网站一段时间。1.1.5反爬机制

(4)通过验证码校验反爬有部分网站不论访问频度如何,一定要来访者输入验证码才能继续操作。例如12306网站,不管是登陆还是购票,全部需要验证验证码,与访问频度无关。(5)通过变换网页结构反爬爬虫大部分情况下都需要通过网页结构来解析需要的数据,在网页结构变换后,爬虫往往无法在原本的网页位置找到原本需要的内容。(6)通过账号权限反爬部分网站需要登录才能继续操作,部分网站虽然并不是为了反爬虫才要求登录操作,但确实起到了反爬虫的作用。例如微博查看评论就需要登录账号,或者QQ邮箱等。1.1.6反反爬策略通过发送模拟User-Agent来通过检验,将要发送至网站服务器的请求的User-Agent值伪装成一般用户登录网站时使用的User-Agent值。发送模拟User-Agent01通过备用IP测试网站的访问频率阈值,然后设置访问频率比阈值略低。这种方法既能保证爬取的稳定性,又能使效率又不至于过于低下。调整访问频度02使用IP代理,更换爬虫IP;通过算法识别验证码;使用cookie绕过验证码。验证码校验03只爬取一次时,在其网站结构调整之前,将需要的数据全部爬取下来;使用脚本对网站结构进行监测,结构变化时,发出告警并及时停止爬虫。应对网站结构变化04通过模拟登录的方法进行规避,往往也需要通过验证码检验。账号权限限制05通过代理进行IP更换可有效规避网站检测,需注意公用IP代理池是网站重点监测对象。代理IP规避061.2HTML基础1.2.1HTML概念HTML(HyperTextMarkupLanguage,超文本标记语言)使用起来比较简单,功能强大,具有可扩展性、平台无关性、通用性的特性。它使用标签的形式描述网页的内容,因此,HTML并不是一种编程语言,而是一种标记语言。网页本身就是一个文本文件,通过在文本文件中加入特定标记,让浏览器能够快速、顺序地识别网页内容。1.2.2HTML页面基本结构任务实施查看百度首页的robots.txt协议步骤1:打开浏览器,输入网址/robots.txt步骤2:根据如下图显示,判断百度网站中哪些内容可以被爬取,哪些内容不允许被爬取。思政点通过对淘宝和京东网站的robots协议分析,

温馨提示

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

评论

0/150

提交评论