基本介绍
基本介绍
1 爬虫的基本流程
模拟浏览器发送请求->下载网页代码->只提取有用的数据->存放于数据库或文件中
对每一个步骤进行分析:
#1、发起请求
使用http库向目标站点发起请求,即发送一个Request
Request包含:请求头、请求体等
#2、获取响应内容
如果服务器能正常响应,则会得到一个Response
Response可能是:html,xml,json,图片,视频或者加密格式
#3、解析内容
解析html数据:正则表达式(re),第三方解析库如Beautifulsoup,pyquery等
解析json数据:json模块
解析二进制数据:以b的方式写入文件
#4、保存数据
数据库
文件
2 robots协议
Robots协议(也称为爬虫协议、机器人协议等)的全称是“网络爬虫排除标准”(Robots Exclusion Protocol),网站通过Robots协议告诉搜索引擎哪些页面可以抓取,哪些页面不能抓取。因为一些系统中的URL是大小写敏感的,所以robots.txt的文件名应统一为小写。robots.txt应放置于网站的根目录下。robots.txt协议并不是一个规范,而只是约定俗成的,所以并不能保证网站的隐私。
Robots协议的基本语法:
#*代表所有,/代表根目录
User-agent:* #user-agent代表来源
Allow:/ #代表运行爬取的内容
Disallow:/ #代表不可爬取的目录,如果是/后面没有写内容,便是其对应的访问者不可爬取所有内容
网站管理员可以在网站域名的根目录下放一个robots.txt 文本文件,里面可以指定不同的网络爬虫能访问的页面和禁止访问的页面,指定的页面由正则表达式表示。网络爬虫在采集这个网站之前,首先获取到这个文件,然后解析到其中的规则,然后根据规则来采集网站的数据。如果一个网站不提供Robots协议,是说明这个网站对应所有爬虫没有限制。
自有搜索引擎之日起,Robots协议已是一种目前为止最有效的方式,用自律维持着网站与搜索引擎之间的平衡,让两者之间的利益不致过度倾斜。它就像一个钟摆,让互联网上的搜索与被搜索和谐相处。
本文来自博客园,作者:yyyz,转载请注明原文链接:https://www.cnblogs.com/yyyzyyyz/p/15543808.html