【python爬虫】加密代理IP的使用与设置一套session请求头
1:代理ip请求,存于redis:
# 请求ip代理连接,更新redis的代理ip
def proxy_redis():
sr = redis.Redis(connection_pool=Pool)
proxys_text = requests.get("你请求代理IP的地址").text
#更新redis
ret = sr.set('proxy_list',proxys_text) # 检测ip代理是否有用 有用返回True,无用返回False
def check_proxy(proxy_list):
print("检测的ip池是",proxy_list)
try:
for proxy in proxy_list:
ret = requests.get("https://www.baidu.com/",proxies={"https": "http://账号:密码@{}".format(proxy)}).text
print("IP可用")
return True
except Exception as e:
return False # 返回请求代理池
def get_proxy_list():
while True:
sr = redis.Redis(connection_pool=Pool)
ip_list = sr.get("proxy_list") #redies拿到数据
proxy_list = ip_list.split("\r\n") #数据结构格式化 列表
ret = check_proxy(proxy_list) #检测代理是否有效果
if ret == True:
print("请求代理池:", proxy_list)
return proxy_list
break
else:
proxy_redis()
print("redis池更新成功")
2: 设置session的N套请求头:
# 1:
session = requests.Session() # 设置一组session请求
session.proxies = {
"http": "http://账号:密码@{}".format(proxy),
"https": "http://账号:密码@{}".format(proxy),
}
headers = head()
session.headers.update(headers) # 更新请求头 请求头自定义
session.post("https://www.amazon.com/gp/delivery/ajax/address-change.html", data) # 设置cookeis
ret = session.get("https://www.amazon.com/dp/B0047CJZLM", headers=headers).text
IUSC.append(session) # #
session = requests.Session() # 设置一组session请求
session.proxies = {
"http": "http://sellerbdata:lv6nv17v@{}".format(proxy),
"https": "http://sellerbdata:lv6nv17v@{}".format(proxy),
}
headers = head()
session.headers.update(headers)
session.post("https://www.amazon.com/gp/delivery/ajax/address-change.html", data,) # 设置邮编
IUSC.append(session)
#
【python爬虫】加密代理IP的使用与设置一套session请求头的更多相关文章
- Python 爬虫的代理 IP 设置方法汇总
本文转载自:Python 爬虫的代理 IP 设置方法汇总 https://www.makcyun.top/web_scraping_withpython15.html 需要学习的地方:如何在爬虫中使用 ...
- python爬虫构建代理ip池抓取数据库的示例代码
爬虫的小伙伴,肯定经常遇到ip被封的情况,而现在网络上的代理ip免费的已经很难找了,那么现在就用python的requests库从爬取代理ip,创建一个ip代理池,以备使用. 本代码包括ip的爬取,检 ...
- python爬虫中的ip代理设置
设置ip代理是爬虫必不可少的技巧: 查看本机ip地址:打开百度,输入“ip地址”,可以看到本机的IP地址: 本文使用的是goubanjia.com里面的免费ip: 使用时注意要注意传输协议是http还 ...
- 爬虫前奏——代理ip的使用
如果同一个IP短时见内多次访问统一网页,可能会被系统识别出是爬虫,因此使用代理IP可以很大程度上解决这一问题 常用的代理有: 西刺免费代理:www.xicidaili.com 快代理:www.kuai ...
- Python 快速验证代理IP是否有效
有时候,我们需要用到代理IP,比如在爬虫的时候,但是得到了IP之后,可能不知道怎么验证这些IP是不是有效的,这时候我们可以使用Python携带该IP来模拟访问某一个网站,如果多次未成功访问,则说明这个 ...
- 使用Python爬取代理ip
本文主要代码用于有代理网站http://www.kuaidaili.com/free/intr中的代理ip爬取,爬虫使用过程中需要输入含有代理ip的网页链接. 测试ip是否可以用 import tel ...
- python实现切换代理ip
大量的处理爬虫的时候,IP地址容易被封掉,这个时候可以使用代理IP来帮助完成接下来的任务了 使用Requests模块来完成请求,代码如下: import urllib.requestimport re ...
- scrapy的User-Agent中间件、代理IP中间件、cookies设置、多个爬虫自定义settings设置
在scrapy的反爬中,常用的几个配置,简单总结了下: User-Agent中间件: from fake_useragent import UserAgent class RandomUserAgen ...
- python多线程建立代理ip池
之前有写过用单线程建立代理ip池,但是大家很快就会发现,用单线程来一个个测试代理ip实在是太慢了,跑一次要很久才能结束,完全无法忍受.所以这篇文章就是换用多线程来建立ip池,会比用单线程快很多.之所以 ...
随机推荐
- python学习笔记4_数据清洗与准备
一.处理缺失值 pandas使用浮点值NaN(Not a Number)来显示缺失值,并将缺失值称为NA(not available(不可用)). NA常用处理方法: dropna:根据每个标签的值是 ...
- (补充)06.Hibernate持久化类&持久化对象
持久化类:就是一个Java类(JavaBean),这个类与表建立映射关系就可以成为是持久类 持久化类 = JavaBean + xxx.hbm.xml 编写规则: 1.提供一个无参数,public访问 ...
- Laravel 指定日志生成目录
1.在config/logging.php 中, 创建自定义频道 2.使用时指定频道
- Django项目:CMDB(服务器硬件资产自动采集系统)--08--06CMDB测试Linux系统采集硬件数据的命令03
https://www.virtualbox.org/wiki/Downloads https://mirrors.aliyun.com/centos/7/isos/x86_64/ http://ww ...
- leetcode算法题笔记|Reverse Integer
/** * @param {number} x * @return {number} */ var reverse = function(x) { var s; if(x<0){ s=-x; } ...
- redis-cli启动问题
首先需要找到redis的所在目录,然后将redis.conf复制到/etc/redis.conf 另外需要将redis.conf文件中的 daemonize no 设置为 daemonize yes. ...
- C# 利用Newtonsoft.Json 序列化生成Json数据
现在需要将一些数据转化成json格式返回给调用者, 使用Newtonsoft.Json.DLL库来帮助我们序列化 举例: {"300033":{"MC":&qu ...
- php匿名函数与闭包函数
匿名函数:没有名字的函数:并没有牵扯到应用其他函数的变量问题.仅仅是没有名字 $f=function($param){} 闭包:A函数中嵌套着B函数,B程序中有用到A的变量,当外部函数C调用函数A时, ...
- 入门servlet:request获取请求头数据
@WebServlet("/RequestDemo2") public class RequestDemo2 extends HttpServlet { protected voi ...
- [BZOJ2729]排队
数学知识 排列 A(n,m)从n个元素中选出m个的不同的排列数 A(n,m)=n!/(n-m)! 组合 C(n,m)从n个元素中选出m个的不同的方案数 C(n,m)=n!/(m!*(n-m)! ...