python爬虫之ProxyPool(代理ip地址池的构建)
ProxyPool
2020-7-28
安装
安装Python
至少Python3.5以上
安装Redis
安装好之后将Redis服务开启
Redis环境安装(分布式爬虫数据存储)
https://blog.csdn.net/jia666666/article/details/82216937
配置代理池
cd proxypool
进入proxypool目录,修改settings.py文件
PASSWORD为Redis密码,如果为空,则设置为None
安装依赖
pip3 install -r requirements.txt
必要操作!!!
运行之前请更改
修改位置为ProxyPool-master\ProxyPool-master\proxypool\crawlers\base.py文件
添加以下代码在导入模块结束处
requests.packages.urllib3.disable_warnings()#忽视InsecureRequestWarning警告
打开代理池和API
python3 run.py
运行结果如下,程序会不停的进行ip地址的获取与检测ip地址是否可用,便于用户直接使用
代理获取
利用requests获取方法如下
import requests
#本地端口ip地址获取
PROXY_POOL_URL = 'http://localhost:5555/random'def get_proxy():try:#访问程序提供的ip地址获取链接response = requests.get(PROXY_POOL_URL)#如果获取成功,返回获取的ip地址if response.status_code == 200:return response.textexcept ConnectionError:return None
运行如下
代理使用及检测
import requests
from pyquery import PyQuery as pq
from faker import Factoryrequests.packages.urllib3.disable_warnings()#忽视InsecureRequestWarning警告User_Agent = Factory.create() #实例造假工厂url = 'https://202020.ip138.com/' # IP地址检测网址
PROXY_POOL_URL = 'http://localhost:5555/random' # 本地代理IP获取网址session=requests.Session() # session会话# 随机UA与cookie
headers = {'User-Agent': User_Agent.user_agent(),'Cookie': 'ASPSESSIONIDCATSSDDQ=NIEMKCBDFNMFGGJDPEFDCDGD'
}#代理字典,类型为http,使用其后代理IP,类型为Https,使用其后代理。
proxies = {"http":"http://78.141.201.90:33723","https":"http://78.141.201.90:33723",
}
#获取代理IP,并打印
prox=requests.get(PROXY_POOL_URL).text
print('代理IP为:'+prox)#proxies字典重新赋值
proxies["http"],proxies["https"]=prox,prox#网页请求
response=session.get(url, proxies=proxies,headers=headers,verify=False)
session.close()
#可以根据状态码判断是否获取成功,200即获取成功
print('网页状态码为:'+str(response.status_code))#网页解析,提取IP检测信息
doc=pq(response.text)
ip=doc('title').text()# 打印IP
print(ip)
运行如下
相关文件下载及源码下载:https://download.csdn.net/download/jia666666/10636675
python爬虫之ProxyPool(代理ip地址池的构建)相关推荐
- python爬虫代理池_python爬虫之ProxyPool(代理ip地址池的构建)
ProxyPool 安装 安装Python 至少Python3.5以上 安装Redis 安装好之后将Redis服务开启 配置代理池 cd proxypool 进入proxypool目录,修改setti ...
- 怎样使用python爬虫获得免费代理IP
怎样使用python爬虫获得免费代理IP 进行爬取和测试有效性 总结 爬虫一直是python使用的一个重要部分,而许多网站也为此做了许多反爬措施,其中爬虫访问过于频繁直接封ip地址也作为一种" ...
- python 爬虫如何使用代理IP
python3 爬虫如何使用代理IP 前言 众所周知,爬虫速度过快,频繁访问都会被封IP,怎么解决这个问题呢?再去换一台设备?先不说数据是否同步,仅仅换个设备的成本就不低,这个时候就需要代理IP了.以 ...
- 干货|Python爬虫如何设置代理IP
在学习Python爬虫的时候,经常会遇见所要爬取的网站采取了反爬取技术导致爬取失败.高强度.高效率地爬取网页信息常常会给网站服务器带来巨大压力,所以同一个IP反复爬取同一个网页,就很可能被封,这里讲述 ...
- 用Python爬虫抓取代理IP
不知道大家在访问网站的时候有没有遇到过这样的状况就是被访问的网站会给出一个提示,提示的显示是"访问频率太高",如果在想进行访问那么必须要等一会或者是对方会给出一个验证码使用验证码对 ...
- python爬虫如何使用代理ip
目录 python requests和selenium使用代理ip requests使用代理ip selenium使用代理ip selenium工具被浏览器检测出来 python requests和s ...
- 【python爬虫】使用代理IP进行网站爬取
我使用代理IP是为了刷票,公司参加了比赛,投票规则是每IP只能投8票,并没有每天刷新还是永久限制,无奈之下使用代理IP, 代理ip网址 http://www.goubanjia.com/ http:/ ...
- Python 爬虫使用固定代理IP
购买的固定代理IP一般都需要账号密码, 在网上找了几个使用方法,但是都报错,所以,就想了这个笨办法,如有好办法希望大家指点. ''' 遇到问题没人解答?小编创建了一个Python学习交流QQ群:579 ...
- Python 爬虫抓取代理IP,并检测联通性
帮朋友抓了一些代理IP,并根据测试联的通性,放在了不通的文件夹下.特将源码分享 注意: 1,环境Python3.5 2,安装BeautifulSoup4 requests 代码如下: 1 2 3 4 ...
最新文章
- C++中的静态绑定与动态绑定
- mpls 保留标签值_MPLS 标签模式/分发行为/保留模式/标签空间
- Visual Studio跨平台开发实战(2) - Xamarin.iOS基本控制项介绍
- 利用802.11x协议实现动态vlan的划分
- 学python需要什么基础知识-没学过Python先要学习哪些基础知识?
- 递归学习五--折半查找--java
- opencv 直方图_OpenCV之图像直方图反向投影
- fullcalendar5.X版本 显示自定义html内容
- Redis 的安装与使用
- 物联网卡加持智能电网,发展更具优势
- 数据中台精华问答 | 数据中台和传统数仓的区别是什么?
- JMeter察看结果树的显示模式详解
- mysql通过centos本地命令行还原数据库出现乱码问题
- java 根据模板,导出word并提供下载
- 有哪个瞬间让你觉得这个世界出bug了?
- dbf解析_DBF文件格式分析.doc
- dns被劫持了怎么处理 5种方法教你处理
- Tolerance Analysis 尺寸公差分析
- 机票前台埋点的那些事儿
- Go | 字符串拼接方式总结和分析
热门文章
- 【C# .NET】Oracle数据库连接的坑之传入parameters参数名SQL语句中的参数变量名不匹配(顺序不一致)的问题
- 2019年软件行业薪酬水平_软件工作的薪水是全国平均水平的两倍
- 域名怎么卖:社群营销+中介!
- simulink永磁同步PMSG一次调频9节点系统VSG虚拟同步机控制超速减载变桨功率备用控制。
- 中秋写了个狼吃羊的智力游戏
- leetcode 383赎金信
- 新手入门 Git GitHub
- Odoo 16 企业版手册 - 销售管理之销售报价
- Ropsten 测试币获取
- 接口ApplicationContext中的getBean()方法的详解