Bootstrap

爬虫_爬虫守则,反爬,反反爬和爬虫开发流程

一.爬虫

简介:

网络爬虫也叫网络蜘蛛,如果把互联网比喻成一个蜘蛛网,那么蜘 蛛就是在网上爬来爬去 的蜘蛛,爬虫程序通过请求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 对象进行解析

;