简介:
网络爬虫也叫网络蜘蛛,如果把互联网比喻成一个蜘蛛网,那么蜘 蛛就是在网上爬来爬去 的蜘蛛,爬虫程序通过请求url地址,根据响 应的内容进行解析采集数据。
简单的说:就是用代码模拟人的行为,去各各网站溜达、点点按 钮、查查数据。或者把看到的数据拿下来。
作用:
通过有效的爬虫手段批量采集数据,可以降低人工成本,提高有效 数据量,给予运营/销售的数据支撑,加快产品发展。
爬虫是利用程序进行批量爬取网上的公开信息,也就是前端显示的 数据信息。因为信息是完全公开的,所以是常规合法的!!!
合法的爬虫
公开的数据,没有标识不可爬取
不影响别人服务器
不影响的业务
不合法的爬虫
用户数据
部分网站、APP数据超过指定数量
明文规定不让爬取
在域名后加上 /robots.txt 查看
页面上标明
影响业务
影响服务器 类似DDOS攻击的问题
反爬:有时企业不想自己的数据被别人拿到。这时就会设置反爬的 手段,来不让爬虫获取数据。
反爬虫常用一些手段:
合法检测:请求校验(useragent,referer,接口加签 ,等) 验证码:
识别文字、做题、滑动等
小黑屋:IP/用户限制请求频率,或者直接拦截 投毒:
反爬虫高境界可以不用拦截,拦截是一时的,投毒返回虚假数据,可以误导竞品决策
反反爬:破解掉反爬手段,再获取其数据。
所有的手段都能破解 吗?。。。。。
基本流程
目标数据:想要什么数据
来源地址
结构分析
具体数据在哪(网站、还是APP)
如何展示的数据
实现构思
操刀编码
基本手段
破解请求限制
请求头设置,如:useragant为有效客户端
控制请求频率(根据实际情景)
IP代理
签名/加密参数从html/cookie/js分析
破解登录授权
请求带上用户cookie信息
破解验证码
简单的验证码可以使用识图读验证码第三方库
解析数据
HTML Dom解析
正则匹配,通过的正则表达式来匹配想要爬取的数据,如:有些数据不是在html 标签 里,而是在html的script 标签的js变量中
使用第三方库解析html dom,比较喜欢类jquery的库
数据字符串
正则匹配(根据情景使用)
转 JSON/XML 对象进行解析