首页 > 其他分享 >cookie与代理

cookie与代理

时间:2023-05-28 16:33:53浏览次数:31  
标签:请求 url ip 代理 session cookie

cookie使用

cookie是存储在客户端的一组键值对

web在cookie的典型应用是免密登录

cookie和爬虫之间的关联:

有时,在对一张页面进行请求的时候,如果请求的过程中不携带cookie的话,

那么就无法请求到正确的页面数据,。因此cookie是爬虫中一个非常典型且常见的反爬机制

import requests
import json

session = requests.Session()  # 创建session对象
#第一次使用session捕获且存储cookie,猜测网页首页发起的请求可能会产生cookie
main_url = 'http://xueqiu.com/'
session.get(main_url,headers=headers)  # 捕获且存储cookie


url = "http://........."  #动态加载的url
data = session.get(url=url,headesr=headers).json  # 携带cookie发起的请求
data

cookie处理方式

方式1:手动处理
        将抓包工具中的cookie粘贴在headers中
        弊端:cookie如果过了有效时长则该方式失效

方式2:自动处理
        -基于session对象实现自动处理
        -如何获取session对象:requests.Session()返回一个session对象
        -session对象的作用:
          该对象可以向requests一样调用get和post方法发起指定请求,只不过如果使用session发请求的过程中如果产生了cookie,则cookie会被自动存储到该session对象中,那么意味着下次再次使用session对象发起请求,则该请求就是携带cookie进行的请求发送
        -在爬虫中使用session的时候,session对象至少会被使用几次?
        两次,第一次使用session是为了将cookie捕获且存储到session对象中。下次的时候就是携带cookie进行的请求发送。

代理操作

-在爬虫中,所谓代理是什么?
    指的是代理服务器

-代理服务器的作用是什么?
    是用来转发请求和响应的

-在爬虫中为什么需要使用代理服务器?
    如果爬虫在短时间内对服务器发起了高频的请求,那么服务器会检测到这样的一个异常行为,就会将该请求对应设备的ip禁掉,这client设备就无法对服务端再次进行请求发送。
    如果ip被禁,就可以使用代理服务器进行请求转发,破解ip被禁的反爬机制。因为使用代理后,服务端接收到的请求对应的ip地址就是代理服务器,而不是真正的客户端

-代理服务器分为不同的匿名度
        -透明代理:使用该形式代理,服务器知道使用了代理机制,也知道真实ip
        -匿名代理:知道使用了代理,但不知道真实ip
        -高匿代理:不知道使用了代理,也不知道真实ip

-代理类型
        -https:代理只能转发https协议的请求
        -http:转发http请求

-代理服务器
        -快代理
        -西祠代理
        -doubanjia
        -代理精灵(推荐)http://www.zhilianip.com/

案例代码

import random
import requests
from lxml import etree

url = "http://........."
data = requests.get(url,headers=headers).text
tree = etree.HTML(data)
proxy_list = tree.xpath('//body//text()')  # 获取代理ip
http_proxy = []  # 存放代理ip
for proxy in proxy_list:
    dic = {
           'https':proxy
    }
    http_proxy.append(dic)

#url模板
url = "http://.......%d"
ips = []
for page in range(1,11):
    new_url = format(url%page)
    #当次请求使用代理机制,就可以更换请求的ip地址
    page_data = requests.get(url=new_url,headers=headres,proxies=random.choice(http_proxy)).text  # 随机获取列表中某一个IP地址
    tree = etree.HTML(page_data)
#在xpath中不能出现tbody标签
    tr_list = tree.xpath('//*[@id="ip_list"]//tr')[1:]
    for tr in tr_list:
        ip = tr.xpath('./td[2]/text()')[0]
        ips.append(ip)
print(len(ips))

 

标签:请求,url,ip,代理,session,cookie
From: https://www.cnblogs.com/xiongying4/p/17438437.html

相关文章

  • PM添加Cookie
    ......
  • ASEMI代理长电可控硅BT134的工作原理,BT134的应用领域
    编辑-Z本文将对可控硅BT134的工作原理及应用领域进行详细阐述。首先,我们将介绍可控硅BT134的基本概念和工作原理;其次,我们将探讨可控硅BT134在电力电子领域的应用;接着,我们将分析可控硅BT134在家用电器中的应用;最后,我们将讨论可控硅BT134在工业自动化领域的应用。 1、可控硅BT134的......
  • ASEMI代理长电可控硅BT136参数,BT136规格,BT136说明
    编辑-Z长电可控硅BT136参数:型号:BT136RMS通态电流IT(RMS):6A非重复浪涌峰值导通电流ITSM:25A峰值栅极电流IGM:2A平均栅极功耗PG(AV):0.5W存储接点温度范围Tstg:-40to+150℃工作接点温度范围Tj:-40to+125℃额定重复峰值关闭状态/反向电压VDRM,VRRM:600V额定重复峰值关断状态电流IDRM,IR......
  • ASEMI代理长电可控硅BT134的工作原理,BT134的应用领域
    编辑-Z本文将对可控硅BT134的工作原理及应用领域进行详细阐述。首先,我们将介绍可控硅BT134的基本概念和工作原理;其次,我们将探讨可控硅BT134在电力电子领域的应用;接着,我们将分析可控硅BT134在家用电器中的应用;最后,我们将讨论可控硅BT134在工业自动化领域的应用。 1、可控硅BT13......
  • ASEMI代理长电可控硅BT136参数,BT136规格,BT136说明
    编辑-Z长电可控硅BT136参数:型号:BT136RMS通态电流IT(RMS):6A非重复浪涌峰值导通电流ITSM:25A峰值栅极电流IGM:2A平均栅极功耗PG(AV):0.5W存储接点温度范围Tstg:-40to+150℃工作接点温度范围Tj:-40to+125℃额定重复峰值关闭状态/反向电压VDRM,VRRM:600V额定重复峰值关断状态......
  • nginx代理给网关时 丢失请求的host信息问题
    nginx搭建域名访问环境描述:访问gulimall.com,Nginx反向代理到网关地址,然后网关转发到具体的product服务域名映射的效果如下:具体步骤:(1)hosts文件配置域名和ip映射修改windows下host文件:C:\Windows\System32\drivers\etc\hosts为了方便,可以使用SwitchHost工具(2)配置nginx......
  • ASEMI代理韩景元可控硅C106M参数,C106M封装,C106M尺寸
    编辑-Z韩景元可控硅C106M参数:型号:C106M断态重复峰值电压VDRM:600V通态电流IT(RMS):4A通态浪涌电流ITSM:30A平均栅极功耗PG(AV):0.2W峰值门功率耗散PGM:1W工作接点温度Tj:-40~125℃储存温度TSTG:-40~150℃断态重复峰值电流IDRM:≤5uA重复峰值反向电流IRRM:≤5uA栅极非触发电压VGD:≥0.2V C106......
  • ASEMI代理韦达可控硅2P4M参数,2P4M图片,2P4M大小
    编辑-Z韦达可控硅2P4M参数:型号:2P4M断态重复峰值电压VDRM:600V重复峰值反向电压VRRM:600VRMS导通电流IT(RMS):2A非重复浪涌峰值导通电流ITSM:20A平均栅极功耗PG(AV):0.1W峰值栅极功率PGM:0.5WIGT:50μAVGT:0.6V存储接点温度范围Tstg:-40~150℃工作接点温度范围Tj:-40~110℃ 2P4M封装规格:封装:T......
  • BT136-ASEMI代理长电原装双向可控硅BT136
    编辑:llBT136-ASEMI代理长电原装双向可控硅BT136型号:2P4M品牌:长电\CJ封装:TO-220正向电流:6A反向电压:800V引脚数量:3芯片个数:1芯片尺寸:漏电流:>10ua恢复时间: 浪涌电流:30A包装方式:盘装封装尺寸:如图特性:单向可控硅工作结温:-40℃~125℃BT136的电性参数:正向电流6A;反向电压800V......
  • BT136-ASEMI代理长电原装双向可控硅BT136
    编辑:llBT136-ASEMI代理长电原装双向可控硅BT136型号:2P4M品牌:长电\CJ封装:TO-220正向电流:6A反向电压:800V引脚数量:3芯片个数:1芯片尺寸:漏电流:>10ua恢复时间:浪涌电流:30A包装方式:盘装封装尺寸:如图特性:单向可控硅工作结温:-40℃~125℃BT136的电性参数:正向电流6A;反向电压8......