用户登录
忘记密码?
注册账号
免费试用
注册即送免费提取IP
使用帮助新闻资讯爬虫使用http代理
您在闪臣遇到任何问题都欢迎您随时联系我们

爬虫使用http代理

发布日期:2024-08-09

1、每个过程从接口中随机取出IP列表,重复使用。失败后,调用API获取。

 

一般逻辑如下:

(1)每个过程,从接口中随机取回部分ip,反复尝试ip目录以获取数据;

(2)如果访问成功,继续抓住下一个。

(3)如果失败,从界面取一批IP,继续尝试。

 

方案缺点:每个IP都有截止日期。如果提取100个,使用第20个,剩下的大部分可能无法使用。如果设置HTTP请求时连接时间超过3秒,读取时间超过5秒,可能需要3-8秒,3-8秒内可能会抓取几百次。

 

2、每个过程从界面随机取一个IP使用。如果失败,调用API获取IP。

 

一般逻辑如下:

(1)每个过程,从界面随机取回一个ip,使用它浏览资源,

(2)如果访问成功,继续抓住下一个。

(3)如果失败,随机从界面取一个IP,继续尝试。

 

方案缺点:调用API获取IP非常频繁,会对代理 服务器造成很大压力,影响API接口的稳定性,可能会限制提取。这个方案不适合,不能长期稳定运行。

 

3、首先提取大量IP导入本地数据库,从数据库中提取IP。

 

一般逻辑如下:

(1)在数据库中建立一个表格,写一个导入脚本,每分钟需要多少个API(咨询代理IP服务提供商的建议),并将IP列表导入数据库。

(2)记录导入时间、IP、Port、过期时间、IP可用状态等字段;

(3)写一个抓取脚本,从数据库中读取可用的IP,每个过程从数据库中获取一个IP供使用。

 

执行抓取、判断结果、处理cookie等。,只要有验证码或失败,就放弃ip,重新更换ip。

 

 

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

 

    import requests

 

    # 要访问的目标页面

    targetUrl = "http://ip.hahado.cn/ip"

 

    # 代理服务器

    proxyHost = "ip.hahado.cn"

    proxyPort = "39010"

 

    # 代理隧道验证信息

    proxyUser = "username"

    proxyPass = "password"

 

    proxyMeta = "http://%(user)s:%(pass)s@%(host)s:%(port)s" % {

        "host" : proxyHost,

        "port" : proxyPort,

        "user" : proxyUser,

        "pass" : proxyPass,

    }

 

    proxies = {

        "http"  : proxyMeta,

        "https" : proxyMeta,

    }

 

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

 

    print resp.status_code

print resp.text

 

关于(爬虫使用http代理)的分享就介绍到这里,感谢您花时间阅读内容,想要了解更多信息可以上(h.shanchendaili.com)闪臣http咨询喔!

本文来源转载

原文链接:爬虫使用http代理_wx6343a8cacc1c2的技术博客_51CTO博客

若有侵权,请联系作者及时删除,谢谢!!