IP代理和用户代理结合使用

首页 » 爬虫 » IP代理和用户代理结合使用

对付一些简单的反爬机制, IP代理和用户代理差不多能很好的解决规模不大的网站. 如果你有持久的IP, 你完全可以把下面的代码封装一下, 以后可以直接使用

import urllib.request
import random
import ssl
uaplls=[#用户代理池
    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.117 Safari/537.36",
    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_2) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.4 Safari/605.1.15",
    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36",
]
ssl._create_default_https_context = ssl._create_unverified_context
def ip(uapools):
    thisua = random.choice(uapools)
    print("当前使用" + thisua)
    headers = ("User-Agent", thisua)
    thisip=urllib.request.urlopen("http://tpv.daxiangdaili.com/ip/?tid=559754555433921&num=1&protocol=https").read().decode("utf-8","ignore")
    print("当前使用的IP:"+thisip)
    ip = urllib.request.ProxyHandler({"https": thisip})#获取IP
    opener = urllib.request.build_opener(ip, urllib.request.HTTPHandler)
    opener.addheaders = [headers]
    urllib.request.install_opener(opener)
url="https://www.woyaogexing.com/touxiang/"
for i in range(1,100):
    try:
        ip(uaplls)
        data=urllib.request.urlopen(url).read().decode("gbk","ignore")
        print(len(data))
    except Exception as err:
        print(err)
IP代理和用户代理结合使用
分享到:
赞(0) 打赏

评论 7

评论前必须登录!

 

  1. #1

    奥利给

    渣渣辉6个月前 (03-27)
  2. #2

    我也是学计算机的

    我是你哥6个月前 (03-27)
  3. #3

    我也是学计算机的

    中国加油小子6个月前 (03-28)
  4. #4

    我也是学计算机的

    笨鸟先飞4个月前 (05-26)
  5. #5

    记住这个网站了

    沥青4个月前 (05-26)
  6. #6

    不错

    笨鸟先飞4个月前 (05-26)
  7. #7

    good厉害了

    渣渣混4个月前 (05-26)

觉得文章有用就打赏一下弟弟吧

支付宝扫一扫打赏

微信扫一扫打赏

Vieu4.5主题
专业打造轻量级个人企业风格博客主题!专注于前端开发,全站响应式布局自适应模板。
正在播放:

作者想对您说:

累了就停下来听首歌吧

听完后会给您一个好心情

最后

等到您不容易

还希望您能多待一会儿

      00:00/00:00