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

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

西刺网

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

__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文件

__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())

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Google Dart

Dart 服务端开发 文件上传 原

1082
来自专栏cmazxiaoma的架构师之路

FastDFS蛋疼的集群和负载均衡(十五)之lvs四层+Nginx七层负载均衡

1562
来自专栏自由而无用的灵魂的碎碎念

启动Myeclipse报错“Failed to create the Java Virtual Machine”的解决办法

我安装的是Myeclipse 10.7.1。装上好久没用,今天启动突然报错:Failed to create the Java Virtual Machine。...

1193
来自专栏禹都一只猫博客

Linux 性能检测常用的 10 个基本命令

1652
来自专栏比原链

Derek解读Bytom源码-P2P网络 地址簿

Gitee地址:https://gitee.com/BytomBlockchain/bytom

841
来自专栏Google Dart

Flutter 构建完整应用手册-联网 顶

从大多数应用程序获取互联网上的数据是必要的。 幸运的是,Dart和Flutter为这类工作提供了工具!

1272
来自专栏更流畅、简洁的软件开发方式

多种数据库的情况

1、 DAL并不是放在一个DLL里面,而是分别放在各个的DLL里面,需要哪个数据库就使用哪个DLL文件。 2、 DAL里面的命名空间、类名、参数类型都是一样的,...

2567
来自专栏FreeBuf

腾讯御见捕获Flash 0day漏洞(CVE-2018-5002)野外攻击

腾讯御见威胁情报中心近日监控到一例使用Adobe Flash 0day漏洞(CVE-2018-5002)的APT攻击,攻击者疑通过即时聊天工具和邮箱等把恶意Ex...

1140
来自专栏Kubernetes

Kubernetes如何通过Devi

Device Plugins Device Pulgins在Kubernetes 1.10中是beta特性,开始于Kubernetes 1.8,用来给第三方设备...

5028
来自专栏GreenLeaves

Linq基础知识小记四之操作EF

1、EF简介 EF之于Linq,EF是一种包含Linq功能对象关系映射技术.EF对数据库架构和我们查询的类型进行更好的解耦,使用EF,我们查询的对象不再是C#类...

1816

扫码关注云+社区

领取腾讯云代金券