目录
什么是Python爬虫
Python爬虫用途
Python爬虫可以获得那些数据
Python爬虫的用途
反爬是什么
常见的反爬措施
Python爬虫技术模块总结
获取网站的原始响应数据
获取到响应数据对响应数据进行过滤
对收集好的数据进行存储
抵御反爬机制
Python爬虫框架
Python爬虫法律风险
什么是Python爬虫
模拟浏览器对网址服务器发送请求,解析服务器返回的响应数据。
Python爬虫用途
代替手动操控浏览器收集数据,通过Python爬虫实现自动收集数据,用作数据分析
Python爬虫可以获得那些数据
因为Python爬虫就是在做浏览器的工作,浏览器是发送请求直接展示返回的响应数据。Python爬虫是发送请求得到响应数据之后,过滤响应数据收集自己想要的信息。
原理都是类似的,所以Python爬虫原则上是只能获取浏览器可以正常获取的数据
Python爬虫的用途
数据分析、对网站进行数据监控、搜索引擎、刷网上数据如播放量、抢票、网络安全等
反爬是什么
对抗Python爬虫的手段的统称。防止数据被恶意获取。
常见的反爬措施
登录才可能看到网站里面的数据、进入网站的各种验证手段、检测同一IP单位时间内的请求量是否异常、请求需要携带特定数据、网站的响应数据被加密等等。
Python爬虫技术模块总结
分为四大部分
获取网站的原始响应数据
1、使用接口请求获取 Request三方库
2、操控浏览器,对浏览器模拟过程中进行获取 Selenium三方库
获取到响应数据对响应数据进行过滤
正则表达式 re标准库
XPath表达式 lxml三方库
对收集好的数据进行存储
MySQL、MongDB、Redis相关知识
抵御反爬机制
使用Python代码模拟登录
通过OpenCV计算机视觉、OCR文字识别、机器学习通过验证码识别
了解各类加密算法和JS逆向分析还原网站加密流程,破解加密
Python爬虫框架
市场上宣传最多的是Scrapy框架
个人是不建议使用爬虫框架的,原因如下
Python已经提供了很多简单的工具库,本身编写爬虫已经很简单了,用了框架反而增加了很多麻烦
爬虫框架使用的是并发方式进行爬取,如果爬取频率过大,本身就已经是一种网络攻击了,所以爬虫效率过高反而是坏事,严重的情况下是有法律风险
爬虫框架限制死了爬取网站的流程,如果有些特殊情况下可能爬取流程不一样,反而无法兼容使用,如: 我直接让前端使用插件自动化控制网页进行对网站的HTML获取直接传入后台解析,那么这种情况爬虫框架就无法兼容了
Python爬虫法律风险
技术本身合法
使用Python爬虫进行黑客攻击、使用Python爬虫获取的数据进行谋利、侵犯版权和隐私权违法