专注于 JetBrains IDEA 全家桶,永久激活,教程
持续更新 PyCharm,IDEA,WebStorm,PhpStorm,DataGrip,RubyMine,CLion,AppCode 永久激活教程

python爬虫代理的伪装

之前提到过,有些网站是防爬虫的。其实事实是,凡是有一定规模的网站,大公司的网站,或是盈利性质比较强的网站,都是有高级的防爬措施的。总的来说有两种反爬策略,要么验证身份,把虫子踩死在门口;要么在网站植入各种反爬机制,让爬虫知难而退。

降低主IP访问频率

注意:这是针对长期的,大范围的爬虫的

有些网站会监视某个ip的访问频率和次数,一但超过某个阈值,就把你当作爬虫嫌犯赶出去了,这时就要想办法降低自己的存在感了。

休眠:爬一段时间后休息一会,不仅是为了自己的成功,也是为服务器着想。

ip代理:通过proxies参数来使用,前提是你要有ip,好的ip代理是要花钱的。例如亿牛云代理IP

使用代理

适用情况:大部分网站均限制了IP的访问量

对于“频繁点击”的情况,我们还可以通过限制爬虫访问网站的频率来避免被网站禁掉。

        #! -*- encoding:utf-8 -*-

        import requests
        import random

        # 要访问的目标页面
        targetUrl = "http://httpbin.org/ip"

        # 要访问的目标HTTPS页面
        # targetUrl = "https://httpbin.org/ip"

        # 代理服务器(产品官网 www.16yun.cn)
        proxyHost = "t.16yun.cn"
        proxyPort = "31111"

        # 代理隧道验证信息
        proxyUser = "username"
        proxyPass = "password"

        proxyMeta = "http://%(user)s:%(pass)s@%(host)s:%(port)s" % {
            "host" : proxyHost,
            "port" : proxyPort,
            "user" : proxyUser,
            "pass" : proxyPass,
        }

        # 设置 http和https访问都是用HTTP代理
        proxies = {
            "http"  : proxyMeta,
            "https" : proxyMeta,
        }

        #  设置IP切换头
        tunnel = random.randint(1,10000)
        headers = {"Proxy-Tunnel": str(tunnel)}

        resp = requests.get(targetUrl, proxies=proxies, headers=headers)

        print resp.status_code
        print resp.text

伪装成浏览器,或者反“反盗链”

有些网站会检查你是不是真的浏览器访问,还是机器自动访问的。这种情况,加上User-Agent,表明你是浏览器访问即可。有时还会检查是否带Referer信息还会检查你的Referer是否合法,一般再加上Referer。

User-Agent可以用亿牛云提供给的真实库,Referer的来源可以伪装成百度搜索来的。

爬取有两个需要注意的问题:

  • 如何处理js生成的cookie

可以使用无头浏览器获取大量cookie,存储后备用。

  • 如何控制频率和利用代理破除反爬限制

文章永久链接:https://tech.souyunku.com/33980

未经允许不得转载:搜云库技术团队 » python爬虫代理的伪装

JetBrains 全家桶,激活、破解、教程

提供 JetBrains 全家桶激活码、注册码、破解补丁下载及详细激活教程,支持 IntelliJ IDEA、PyCharm、WebStorm 等工具的永久激活。无论是破解教程,还是最新激活码,均可免费获得,帮助开发者解决常见激活问题,确保轻松破解并快速使用 JetBrains 软件。获取免费的破解补丁和激活码,快速解决激活难题,全面覆盖 2024/2025 版本!

联系我们联系我们