反爬虫之代理IP封禁-协采云IP池

反爬虫之代理IP封禁-协采云IP池

1、目标网址

aHR0cDovL3d3dy5jY2dwLXRpYW5qaW4uZ292LmNuLw==

2、IP封禁403

这个网站对IP的要求很高,短时间请求十几次就会遭关进小黑屋。如下图:
在这里插入图片描述
在这里插入图片描述
明显是网站进行了反爬处理:限制IP请求频率。这个时候,我们只有加代理进行访问请求了。但是网上公开的代理虽然说是免费,但其IP的响应速度、存活时间、隐匿性等质量是无法保证的。这里推荐一款最近发现的代理商家:协采云IP池

在这里插入图片描述

3、协采云IP池

demo:


import requests
import json
import time

#API链接    后台获取链接地址
proxyAPI = ""
proxyusernm = ""        #代理帐号
proxypasswd = ""        #代理密码
url='https://myip.ipip.net/'

#获取IP
r = requests.get(proxyAPI)
if(r.status_code == 200):
    j = json.loads(r.text)
    if(j["success"] and len(j["result"]) > 0):
        p=j["result"][0]
        #name = input();
        proxyurl="http://"+proxyusernm+":"+proxypasswd+"@"+p["ip"]+":"+"%d"%p["port"]

        t1 = time.time()
        r = requests.get(url,proxies={'http':proxyurl,'https':proxyurl},headers={
            "Accept":"text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8",
            "Accept-Encoding":"gzip, deflate",
            "Accept-Language":"zh-CN,zh;q=0.9",
            "Cache-Control":"max-age=0",
            "User-Agent":"Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36"})
        r.encoding='utf-8'

        t2 = time.time()

        print(r.text)
        print("时间差:" , (t2 - t1));
    else:
        print('获取0个代理IP')
else:
    print('获取代理失败')

实战:


```python
def get_ip_one():
    # API链接    后台获取链接地址
    proxyAPI = "http://19122421898.user.xiecaiyun.com/api/proxies?action=getJSON&key=NP4D0E6891&count=&word=&rand=true&norepeat=false&detail=false&ltime=3&idshow=false"
    proxyusernm = "19122421898"  # 代理帐号
    proxypasswd = "19122421898"  # 代理密码
    try:
        # 获取IP
        r = requests.get(proxyAPI)
        if (r.status_code == 200):
            j = json.loads(r.text)
            if (j["success"] and len(j["result"]) > 0):
                p = j["result"][0]
                proxyurl = "http://" + proxyusernm + ":" + proxypasswd + "@" + p["ip"] + ":" + "%d" % p["port"]
                return {'http': proxyurl, 'https': proxyurl}
    except:
        print('代理获取超时,jia')
        return {'http': 'http://dsk20180808:dsk20170808@218.86.104.54:57114',
                'https': 'https://dsk20180808:dsk20170808@218.86.104.54:57114'}

加上代理后即可解决:

在这里插入图片描述

  • 8
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

抄代码抄错的小牛马

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值