爬虫抓取网页数据(什么是爬虫?爬虫就是使用任何技术手段,批量获取网站信息的一种方式)
优采云 发布时间: 2022-04-15 18:13爬虫抓取网页数据(什么是爬虫?爬虫就是使用任何技术手段,批量获取网站信息的一种方式)
什么是爬行动物?爬虫是一种利用任何技术手段批量获取信息的方式。关键在于批处理。说白了,其实就是模拟真实用户请求大量数据。
下面将介绍爬虫方法和实际应用场景。
内容
1、爬虫之道
2、爬虫应用场景
3、反爬虫攻略
爬行动物的方式
从网页交互的角度来看,爬虫主要分为两种方式,即常规爬虫和自动化爬虫。
1、常规爬虫
常规爬虫,也叫裸码爬虫,是最原创的爬取方式。
例如,如果要爬取微博热搜榜,需要经过3个步骤:
1、确定目标地址
分析页面请求格式,找到微博实时热搜的网址:
2、目标信息分析
请求特定页面后,需要解析页面中的数据,而你爬回来的页面其实就是一堆前端代码。可以通过dom api读取代码中的数据。例如,如果要获取每个热搜的名称,则需要获取热搜名称在网页的DOM结构中的路径。
3、数据存储
解析出目标信息后,可以存储在数据库中,也可以写入文件以备后用。
总结:可见常规爬虫必须提前知道需要爬取的每个页面的具体地址,一次只能爬取一个页面,不能爬取整个站点;每个页面都要写相应的代码来模拟Request比较麻烦。
随着时代的发展,自动化爬虫框架应运而生。往下看~
2、自动爬虫
有几个自动爬虫框架。下面介绍比较经典的 puppeteer 框架。
Puppeteer 是来自 Google Chrome 的无头 chrome 工具。它提供了一个高级 api 来控制 headless chrome。
puppeteer可以模拟大部分用户操作,包括点击、滚动、悬停、聚焦等大部分交互,所以只要知道一个网站的首页地址,就可以通过调用api爬取来模拟用户操作整个 网站 数据。
比如要爬取百度python的搜索数据,只需要调用api模拟键盘输入“python”=>回车=>点击搜索项=>解析爬取的内容。
接下来我们来看看puppeteer爬虫更多的应用场景。
爬虫应用场景
前面提到了puppeteer自动化爬虫框架,很多应用场景也是基于puppeteer诞生的。
1、爬取网页数据
从爬虫数据中诞生的产品,比如比价购物、各种热搜排名、舆情追踪、新闻追踪、盗版VIP视频网站等。
2、UI 自动化测试
因为 puppeteer 提供了很多 API 来模拟用户操作,所以现在很多公司基于 puppeteer 做一些自动化测试。例如,如果要测试一个前端页面的兼容性,以及前端页面的UI是否存在bug,只需要模拟表单提交和键盘的执行即可。页面输入等操作。
3、生成页面截图和PDF
puppeteer 还提供了用于屏幕截图和 pdf 生成的 API。
4、监控网页数据
通过对前端数据的爬取,可以监控网站数据是否异常(如数据掉线0)。如果数据异常,可以向数据人员报警。
5、监控网页性能
它可以捕获 网站 的时间线跟踪,以帮助诊断性能问题。
反爬虫策略
如果有爬虫,就可能有反爬虫。一些 网站 数据更敏感,不希望您获取它们。此时,公司将采取各种反爬虫措施。
1、屏蔽ip
这是一种比较简单粗暴的方式。查看单位时间内请求次数过多的账号,然后查看该账号的电脑IP,直接屏蔽这台电脑的访问,但是误伤率也比较高,慎用。
2、用图片替换敏感信息
电商平台上的商品价格信息比较敏感。有些平台会用图片显示价格和型号信息而不是显示,这确实可以防止爬虫。但是,随着机器学习的发展,识别图片的技术也越来越强。慢慢地,这种治疗方法的效果就不那么好了。
3、你看到的不是你得到的
通过一定的算法规则,将虚假信息和真实信息进行映射,虚假信息存储在网页代码中,但在显示时,使用算法规则和ttf字体文件映射真实信息。
4、手动输入动态码
有的网站为了避免被爬取,比如在你访问页面之前,输入一个动态码,验证你的身份,并且有一个有效期。
5、法律途径
爬行动物违法吗?目前的爬虫在法律层面还是有点*敏*感*词*的。爬虫诉讼还是有的,法律手段也算是保护数据的一种方式。
来源 | 产品技术课程(ID:pm_it_course)
作者 | 小柠檬;编辑 | 鱼丸饺子