Python代理实现
来源:互联网 发布:学生会的一己之见 知乎 编辑:程序博客网 时间:2024/05/16 09:37
这两天在看python代理IP实现,终于敲定了,哈哈,看代码
from bs4 import BeautifulSoupimport requestsimport randomimport urllib2def get_ip_list(url, headers): web_data = requests.get(url, headers=headers) soup = BeautifulSoup(web_data.text, 'lxml') ips = soup.find_all('tr') ip_list = [] for i in range(1, len(ips)): ip_info = ips[i] tds = ip_info.find_all('td') ip_list.append(tds[1].text + ':' + tds[2].text) return ip_listdef get_random_ip(ip_list): proxy_list = [] for ip in ip_list: proxy_list.append('http://' + ip) proxy_ip = random.choice(proxy_list) proxies = {'http': proxy_ip} return proxiesif __name__ == '__main__': url = 'http://www.xicidaili.com/nn/' headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.143 Safari/537.36' } ip_list = get_ip_list(url, headers=headers) proxies = get_random_ip(ip_list) print(proxies) enable_proxy = Trueproxy_handler = urllib2.ProxyHandler(proxies)null_proxy_handler = urllib2.ProxyHandler({})if enable_proxy: opener = urllib2.build_opener(proxy_handler)else: opener = urllib2.build_opener(null_proxy_handler) urllib2.install_opener(opener)response = urllib2.urlopen('http://www.baidu.com', timeout=10)print(response.read())
1 0
- Python 实现代理池
- Python实现TCP代理
- Python代理实现
- TCP代理 python实现
- Python入门:python实现http透明代理
- python实现的多线程验证代理程序
- 简单实现Socks5代理(Python&C#)
- python实现windows ie代理切换
- IP代理池的Python实现
- Python中实现通用代理对象
- Python入门:python实现http透明代理(二)
- Python入门:python实现http透明代理(三)
- python代理
- python 代理
- Atitit.http代理的实现 代码java php c# python
- 用Python实现代理池(Proxy Pool)系统
- Python实现设计模式--06.代理模式(Proxy Pattern)
- 代理池使用,python的简单队列实现
- 深入掌握JMS
- TCP滑动窗口 & 拥塞控制
- ORACLE常用函数(1)
- Angular--页面间切换及传值的四种方法
- ldd
- Python代理实现
- MongoDB 3.4 功能改进一览
- 启动页与闪屏
- 拼装xml
- RESTful Web 服务
- 漫谈Servlet(一)
- Kafka Eagle 源码解读
- 基于jQuery的ajax跨域请求,PHP作为服务器端代码
- (29)Air Band OpenCV2.4.13_Canny边缘检测