美文网首页爬虫
爬虫:7.反反爬虫

爬虫:7.反反爬虫

作者: yuanquan521 | 来源:发表于2016-06-04 01:41 被阅读332次

反反爬虫

通常通过如下方法来进行反爬虫

  1. 检查User-Agent
  2. 验证码
  3. 一个IP访问的频次或总的访问次数
  4. cookie有效时间
  5. 数据存储为图片格式

应对方法:

  1. 随机UA
# -*- coding:utf-8 -*-

"""
File Name : 'random_ua'.py
Description:
Author: 'chengwei'
Date: '2016/5/13' '16:31'
"""
import sys
import random

# reload(sys)
# sys.setdefaultencoding('utf-8')

def example():
    print random_chose()


def random_chose():
    """
    随机返回列表中的UA
    :return:
    """
    user_agents = ['Mozilla/5.0 (Windows NT 6.1; WOW64; rv:23.0) Gecko/20130406 Firefox/23.0',
                   'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:18.0) Gecko/20100101 Firefox/18.0',
                   'Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/533+  (KHTML, like Gecko) Element Browser 5.0',
                   'Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; WOW64; Trident/6.0)',
                   'Opera/9.80 (Windows NT 6.0) Presto/2.12.388 Version/12.14',
                   'Mozilla/5.0 (iPad; CPU OS 6_0 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Version/6.0 Mobile/10A5355d Safari/8536.25',
                   'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1468.0 Safari/537.36',
                   'Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.0; Trident/5.0; TheWorld)',
                   'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36',
                   'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2227.1 Safari/537.36',
                   'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:41.0) Gecko/20100101 Firefox/41.0',
                   'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.112 Safari/537.36'
    ]

    user_agent = random.choice(user_agents)
    ua = {'User-Agent': user_agent}
    return ua


if __name__ == '__main__':
    example()
  1. 验证码,使用opencv进行预先处理,再通过Tesseract-OCR识别,当然如果针对特定的验证码进行人工训练,效果更好。验证码部分请参考爬虫:8.验证码识别部分。

  2. 一个IP的访问频次或者总的次数,需要大量的代理IP。
    后面会用go实现一个动态IP,对外开放一个IP,此IP将请求转发到后台的代理IP去执行请求。

  3. cookie有效时间经常针对账号和IP,常用的解决办法是建立账号对应的cookie池,并自动更新,随机使用cookie,一旦无效就进行更新或者排除,排除是因为某些情况一个账号一天只允许特定次数的请求。

  4. 有的网站将部分数据以图片格式存储,那么我们又需要应用OCR技术。
    提供OCR接口的公司很多,微软的牛津计划中就有很方便的OCR接口,而且每个月的免费次数不少,一般情况够用。
    附牛津计划地址:https://www.azure.cn/cognitive-services

欢迎补充!

相关文章

  • 爬虫:7.反反爬虫

    反反爬虫 通常通过如下方法来进行反爬虫 检查User-Agent 验证码 一个IP访问的频次或总的访问次数 coo...

  • 爬虫入门基础

    Day01 一、爬虫介绍 什么是爬虫 Python爬虫的优势 Python爬虫需要掌握什么 爬虫与反爬虫与反反爬虫...

  • 01-认识爬虫

    一、爬虫介绍 什么是爬虫 Python爬虫的优势 Python爬虫需要掌握什么 爬虫与反爬虫与反反爬虫三角之争 网...

  • CNN大战验证码

    介绍   爬虫江湖,风云再起。自从有了爬虫,也就有了反爬虫;自从有了反爬虫,也就有了反反爬虫。  反爬虫界的一大利...

  • 爬虫理解版本3

    1 爬虫高级 1.1 动态HTML处理和机器图像识别 爬虫(Spider),反爬虫(Anti-Spider),反反...

  • 爬虫进阶:反反爬虫技巧

    主要针对以下四种反爬技术:Useragent过滤;模糊的Javascript重定向;验证码;请求头一致性检查。 高...

  • 反爬虫与反反爬虫

    喜欢爬虫的伙伴都知道,在爬网站的内容的时候并不是一爬就可以了,有时候就会遇到一些网站的反爬虫,折回让你爬不到数据,...

  • 反爬虫与反反爬虫

    1.反爬虫技术 首先我们来思考一下,为什么要反爬虫? 网络中充斥大量爬虫的情况下,会使得整个网络的数据不可靠。 网...

  • 爬虫(二)

    了解爬虫的人,都听过,爬虫技术,反爬虫技术,反反爬虫技术。而在这个里面,httpx协议就占据了很大一部分。 Acc...

  • 反反爬虫之js加密参数获取

    反爬虫与反反爬虫从爬虫诞生开始就已经存在,反爬策略层出不穷,反反爬也都应对有招。 就我目前碰到的反爬,从简单的us...

网友评论

本文标题:爬虫:7.反反爬虫

本文链接:https://www.haomeiwen.com/subject/zfsldttx.html