前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python爬虫反爬取---设置IP代理自动变换requests.get()中proxy的IP

python爬虫反爬取---设置IP代理自动变换requests.get()中proxy的IP

作者头像
98k
发布2018-04-11 15:26:50
6.4K0
发布2018-04-11 15:26:50
举报
文章被收录于专栏:Django ScrapyDjango Scrapy

今天做了个随机变换IP的功能 由于今天懒得写爬虫爬取西刺网 (http://www.xicidaili.com/wt/) 的ip和端口号

西刺网

就简单写了个py来用人肉的方法一个一个试IP(捂脸),事实证明太傻了

代码语言:javascript
复制
__author__ = 'Lee'
from headers import  requests_headers  # 上一篇文章中所写的自动转变headers文件
from bs4 import BeautifulSoup
import requests
header = requests_headers()  #调用requests_headers() 返回一个随机的headers文件
proxies = {'http': 'http://139.0.28.18:8080'}  #这个地方换一下ip和端口号
url = 'http://www.whatismyip.com.tw' #访问这个网站可以返回你的IP地址 以此验证是否变换成功
try:
    wb_data = requests.get(url,headers=header,proxies=proxies,timeout=5) #timeout 限定5秒相应后就退出执行
    soup = BeautifulSoup(wb_data.text,'lxml')
    print(soup)
except(requests.exceptions.ProxyError,requests.exceptions.ConnectTimeout):
    print('failed!')

#国外IP 1.179.183.86:8080 113.53.231.201:3129 182.23.28.180:3128 182.253.177.59:3128 139.0.28.18:8080

执行后结果

下边是用获得的三个IP做的自动变换proxy文件

代码语言:javascript
复制
__author__ = 'Lee'
import random
ip_pool = [
    '119.98.44.192:8118',
    '111.198.219.151:8118',
    '101.86.86.101:8118',
]
def ip_proxy():
    ip = ip_pool[random.randrange(0,3)]
    proxy_ip = 'http://'+ip
    proxies = {'http':proxy_ip}
    return proxies

print(ip_proxy())
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017.06.23 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档