【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拿到数据
        if ip_list == None:
            proxy_redis()
        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)

        # 1

        # 2
        session = requests.Session()  # 设置一组session请求
        session.proxies = {
            "http": "http://sellerbdata:[email protected]{}".format(proxy),
            "https": "http://sellerbdata:[email protected]{}".format(proxy),
        }
        headers = head()
        session.headers.update(headers)
        session.post("https://www.amazon.com/gp/delivery/ajax/address-change.html", data,)  # 设置邮编
        IUSC.append(session)
        # 2

原文地址:https://www.cnblogs.com/wanghong1994/p/11994064.html

时间: 2024-08-21 07:35:33

【python爬虫】加密代理IP的使用与设置一套session请求头的相关文章

【Python脚本】-Python查找可用代理IP

在用Python爬虫时,我们有时会用到IP代理.无意中发现一个免费代理IP的网站:http://www.xicidaili.com/nn/.但是,发现很多IP都用不了.故用Python写了个脚本,该脚本可以把能用的代理IP检测出来.脚本如下: #encoding=utf8 import urllib2 from bs4 import BeautifulSoup import urllib import socket User_Agent = 'Mozilla/5.0 (Windows NT 6.

爬虫使用代理IP更安全

我们知道,当我们上网时,我们的真实IP可能会被泄露,当被别有用心的人获取到时则可能会对我们造成一些伤害.而如果使用了代理IP上网后,则完美的隐藏了我们的本机真实IP,多加了一份安全保障.为什么说使用代理IP可以让上网更安全呢? 代理服务器的原理相当于一个连接客户端和远程服务器的一个"中转站",当我们向远程服务器提出服务要求后,代理服务器首先获取用户的请求,并将服务请求转交至远程服务器,并将远程服务器返回后的结果再转交给客户端,等于和服务端打交道的是代理服务器,由它抛头露面,客户端则隐藏

爬虫使用代理IP为什么不能全部成功

很多朋友在网络工作中经常会碰到各种各样的问题,比如访问某网站加载太慢,多刷新了几次被提示访问太频繁IP被限制:有的网站注册了几个账号后提示当前IP最多只能注册3个账号或者直接封号:有的网站发几个帖子提示当天发帖已经达到上限等等.这样的事情太多的太多了,后来人们发现,使用代理IP可以很好的解决这个问题.代理IP何处有,免费代理IP到处有,很多朋友网上找到很多,但实际能用的非常少:也有很多朋友自己写代码批量爬取免费代理IP,然后做批量验证,这样效果高了很多,但实际上能用的也并不多,ip的稳定和速度也

爬虫使用代理ip

获得代理IP的网站: http://www.xicidaili.com/ 验证代理是否可用的方式之一: globalUrl = "http://ip.chinaz.com/getip.aspx" 如何使用代理: 一 使用requests: import requests ip = "http://" + i[0]+":"+i[1]ipdict = {"http":ip}requests.get(globalUrl,header

node.js 爬虫动态代理ip

参考文章: https://andyliwr.github.io/2017/12/05/nodejs_spider_ip/ https://segmentfault.com/q/1010000008196143 代码: import request from 'request'; import userAgents from './common/userAgent'; //这里只做测试,所以用变量存,而实际应用中,应该使用数据缓存 const expiryTime = 10 * 60 * 100

python requests 测试代理ip是否生效

import requests '''代理IP地址(高匿)''' proxy = { 'http': 'http://117.85.105.170:808', 'https': 'https://117.85.105.170:808' } '''head 信息''' head = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.1

python爬取代理ip

要写爬虫爬取大量的数据,就会面临ip被封的问题,虽然可以通过设置延时的方法来延缓对网站的访问,但是一旦访问次数过多仍然会面临ip被封的风险,这时我们就需要用到动态的ip地址来隐藏真实的ip信息,如果做爬虫项目,建议选取一些平台提供的动态ip服务,引用api即可.目前国内有很多提供动态ip的平台,普遍价格不菲,而对于只想跑个小项目用来学习的话可以参考下本篇文章. 简述 本篇使用简单的爬虫程序来爬取免费ip网站的ip信息并生成json文档,存储可用的ip地址,写其它爬取项目的时候可以从生成的json

python爬虫使用代理

from urllib import request url = 'http://httpbin.org/ip' #使用代理 #1.使用ProxyHandler构建一个hander handler = request.ProxyHandler({ "HTTP":"182.35.84.11:9999" }) #2.使用上面的hander构建一个opener opener = request.build_opener(handler) #3.使用opener去发送一个请

Python爬虫实例 动态ip+抓包+验证码自动识别

最近出于某种不可描述的原因,需要爬一段数据,大概长这样: 是一个价格走势图,鼠标移到上面会显示某个时刻的价格,需要爬下来日期和价格. 第一步肯定先看源代码,找到了这样一段: 历史记录应该是从这个iframe发过来的,点进去看看,找到这样一段: 可以大概看出来是通过get一个json文件来获取数据,我们要的东西应该就在这个json里面.打开浏览器的开发者工具(F12),一个个看发过来的json,发现这样一个: 打开看看: ok,我们找到了想要的东西了,接下来分析下这个url,发现一些规律,可以直接