爬虫和反爬虫,你了解多少?

网络爬虫本质就是 http 请求,浏览器是用户主动操作然后完成 HTTP 请求,而爬虫需要自动完成http请求,网络爬虫需要一套整体架构完成工作。

爬虫

一个完整的爬虫生命周期包括:URL管理、页面下载、内容抽取、持久化。

URL管理

首先 url 管理器添加了新的 url 到待爬取集合中,判断了待添加的 url 是否在容器中、是否有待爬取的 url,并且获取待爬取的 url,将 url 从待爬取的 url 集合移动到已爬取的 url 集合。

页面下载

下载器将接收到的url传给互联网,互联网返回html文件给下载器,下载器将其保存到本地,一般的会对下载器做分布式部署,一个是提交效率,再一个是起到请求代理作用。

内容抽取

页面解析器主要完成的是从获取的 html 网页字符串中取得有价值的感兴趣的数据和新的 url 列表。数据抽取比较常用的手段有基于 css 选择器、正则表达式、 xpath 的规则提取。一般提取完后还会对数据进行一定的清洗或自定义处理,从而将请求到的非结构数据转化为我们需要的结构化数据。

数据持久化

数据持久化到相关的数据库、队列、文件等方便做数据计算和与应用对接。

反爬虫

使用任何技术手段,阻止别人批量获取自己网站信息的一种方式。

发布了461 篇原创文章 · 获赞 102 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/qq_43539599/article/details/104660697