爬虫--模拟登录&代理IP

免责声明:本文仅做分享... 

目录

模拟登录 

方法1--POST表单传递

方法2--cookie时效性

方法3--session自动处理cookie

代理ip

介绍

使用 


模拟登录 

方法1--POST表单传递

headers = {
    'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like 
Gecko) Chrome/120.0.0.0 Safari/537.36',
}

import requests
login_url = 'https://ptlogin.4399.com/ptlogin/login.do?v=1'

# 表单参数

data = {

'password':'a12323', # 并不是所有的网站密码直接传明文就可以

'username':'3073821018',
}

# 对登录url发请求

login_res = requests.post(login_url,headers=headers,data=data)

方法2--cookie时效性

import requests
headers = {
    'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like 
Gecko) Chrome/120.0.0.0 Safari/537.36',
    # cookie中是保存了已登录用户的身份信息,所以直接发请求是可以的

    'Cookie':'Puser=3073859018; Qnick=; UM_distinctid=18b41dd25cf76d-0699c31a284a4e26031151-1fa400-18b41dd25d0fd0;
 _4399tongji_vid=169761709622028; 
_4399stats_vid=16976170963161277; _gprp_c=""; home4399=yes; 
Hm_lvt_334aca66d28b3b338a76075366b2b9e8=1701753391,1703593180; _4399tongji_st=1703593189; 
Hm_lvt_e5a07b5994f78634294b9c347a5be7d2=1701753399,1703593190; 
Hm_lvt_5c9e5e1fa99c3821422...xxxxE%E5%B7%A7%E5%AE%89%E6%9B%BC%E5%A6%AE'

}

url = 'https://my.4399.com/forums/index-getMtags?type=game&page=1'

# 发群组请求的时候,携带cookie身份

res = requests.get(url,headers=headers)

# # 设置响应编码

res.encoding='utf-8'

print(res.text)

方法3--session自动处理cookie

headers = {
    'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like 
Gecko) Chrome/120.0.0.0 Safari/537.36',
}

import requests
login_url = 'https://ptlogin.4399.com/ptlogin/login.do?v=1'

# 表单参数

data = {

'password':'xxxx', # 并不是所有的网站密码直接传明文就可以

'username':'3073851118',
}

# 获取session对象

session = requests.Session()

# session中已经保存了cookie信息

login_res = session.post(login_url,data=data,headers=headers)

url = 'https://my.4399.com/forums/index-getMtags?type=game&page=1'

# 发群组请求的时候,携带cookie身份

res = session.get(url,headers=headers)

# # 设置响应编码

res.encoding='utf-8'

print(res.text)

代理ip

介绍

代理:

   在爬虫中,代理指的是代理服务器
代理服务器作用:

   用来转发请求和响应
为什么要使用代理服务器呢?

   如果爬虫在短时间内对服务器发起了高频率的请求,那么服务器会检测到异常的请求

   可能会对请求对应设备ip禁掉,就意味着客户端设备无法对服务器端再次请求拿到数据

   如果使用代理之后,服务器端接收到的请求ip是?代理服务器的

   代理服务器分为了不同的匿名度:

       透明代理:服务端知道你使用了代理机制,也知道你的ip
       匿名代理:服务端知道你使用了代理机制,不知道客户端的真实ip
       高匿代理:服务端不知道你使用了代理,也不知道你的真实ip

更换代理的目的是如果你的本机ip不能访问到数据了,那代理ip是没有被封掉的,所以可以换个ip去访问

芝麻代理 西刺代理 智联 阿布云 青果 携趣

....


使用 

import requests
ip_url = 'http://api.xiequ.cn/VAD/GetIp.aspx?
act=get&uid=129821&vkey=81CEACF9CEE016227FC3FF79455E346A&num=1&time=30&plat=1&re=0&type=0&s
o=1&ow=1&spl=1&addr=&db=1'

# 对ip_url 发起请求 得到代理ip

ip_res = requests.get(ip_url)

# 生成一个ip地址:端口

url = 'https://httpbin.org/get'  # 验证代理ip是否成功

headers = {
    'User-Agent': "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, 
like Gecko) Chrome/126.0.0.0 Safari/537.36"

}

# proxies在请求的过程中加入proxies参数,代表使用代理进行请求

proxies = {
    'http': f'{ip_res.text}',
    'https': f'{ip_res.text}'

}

res = requests.get(url, headers=headers, proxies=proxies)

print(res.text)

# 175.11.188.69真实ip 120.34.91.211代理ip

  • 6
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

金灰

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值