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

python爬虫如何配置动态爬虫代理

很多网站会检测某一段时间某个IP的访问次数(通过流量统计,系统日志等),如果访问次数多的不像正常人,它会禁止这个IP的访问。

所以我们可以设置一些代理服务器,每隔一段时间换一个代理,就算IP被禁止,依然可以换个IP继续爬取

使用代理流程

代理的使用大概可以分为四步

1、构建处理器handler(代理IP)

2、使用处理器构建连接方法(build_opener)

3、构建请求

4、使用连接方法中的open函数打开请求

其中最重要的是第一步构建处理器的ProxyHandler函数

爬取数据

这一步,你要明确要得到的内容是什么?是HTML源码,还是Json格式的字符串等。

最基本的爬取

抓取大多数情况属于get请求,即直接从对方服务器上获取数据。

首先,Python中自带urllib及urllib2这两个模块,基本上能满足一般的页面抓取。另外,requests也是非常有用的包,与此类似的,还有httplib2等等。

import requests
url = http://current.ip.16yun.cn:802
response = requests.get(url)
content = requests.get(url).content
print("response headers:", response.headers)
print("content:", content)

此外,对于带有查询字段的url,get请求一般会将来请求的数据附在url之后,以?分割url和传输数据,多个参数用&连接。

import requests
data = {'wd':'nike', 'ie':'utf-8'}
url='https://www.baidu.com'
response = requests.get(url=url, params=data)

如何配置动态的代理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

current.ip.16yun.cn:802

这是一个检测代理是否使用成功的网站

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

未经允许不得转载:搜云库技术团队 » python爬虫如何配置动态爬虫代理

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

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

联系我们联系我们