目录
什么是爬虫?
- 通过编写程序,模拟浏览器上网,然后让其去互联网上抓取数据的过程;
爬虫的价值
- 抓取互联网上的数据,将这些爬取的数据产品化,商业化;
- 自己的数据银行;
爬虫数据举例
- Python技术文章大全
- 图书价格对比网
- 最漂亮美女图片网
- 最爆笑故事APP
- 新的聚合阅读器
爬虫的合法性
- 在法律中是不被禁止的,但是具有违法风险;
- 爬虫带来的风险:
- 爬虫干扰了被访问网站的正常运营;
- 爬虫抓取了受到法律保护的特定类型的数据或信息;
- 如何在使用编写爬虫的过程中,避免违法犯罪?
- 时常优化自己的程序,避免干扰被访问网站的正常运行;
- 在使用,传播爬取到的数据时,审查抓取到的内容,如果发现了涉及用户隐私,商业机密等敏感内容,需要及时停止爬取或传播;
爬虫在使用场景中的分类
- 通用爬虫,抓取系统重要组成部分,如抓取的是一整张页面数据;
- 聚焦爬虫,建立在通用爬虫的基础上,抓取的是页面中特定的局部内容。如微博中的所有评论;
- 增量式爬虫,检测网站中数据更新的情况,只会抓取网站中最新更新出来的数据,如最新的微博评论;
反爬机制
- 门户网站,可以通过制定相应的策略或技术手段,防止爬虫程序进行网站数据的爬取;如页面访问检查header中的User-Agent;
反反爬策略
- 爬虫程序可以通过制定相关的策略或技术手段,破解门户网站中具备的反爬机制,从而可以获取门户网站中相关的数据;如模拟header中的User-Agent是浏览器访问;
robots.txt协议
- 君子协议
- 规定了网站中哪些数据可以被爬虫爬取,哪些数据不可以被爬取;
- Disallow是禁止被爬取的目录;
- Allow可以被爬取的目录;
淘宝的robots.txt协议
https://www.taobao.com/robots.txt
腾讯新闻的robots.txt协议
http协议
- 服务器和客户端进行数据交互的一种形式;
- 常用请求头信息:
- User-Agent:请求载体的身份标识;
- Connection:请求完毕后,是断开连接,还是保持连接;
- 常用响应头信息:
- Content-Type:服务器响应回客户端的数据类型;
https协议
- 安全的超文本传输协议
- 加密方式:
- 对称秘钥加密
- 非对称秘钥加密
- 证书秘钥加密(https协议)