您当前的位置: 首页 >  爬虫

不会翻墙的泰隆

暂无认证

  • 9浏览

    0关注

    31博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

【爬虫技能树】㈣、request.session()之应用场景

不会翻墙的泰隆 发布时间:2022-08-03 11:27:30 ,浏览量:9

目录
  • 简介
  • 思路
  • 实现
  • 最后
有粉丝问到这个方法,不知如何回答,因为市面上的网站几乎都做了风控,如果单靠这种方法实现登录,是很难的,比如说表单中的加密参数,不懂Js连门槛都入不了。我特意在本地搭了一个web,仅供参考!

简介

request.session()这个方法可以保存上次请求时的Cookie,有利于我们在登录场景中,post得到Cookie后,可直接请求网页,无需登录。 Cookie:由服务器产生,浏览器收到请求后保存在本地,当再次访问时,会自动带上Cookie,这样服务器就能通过Cookie来判断用户!

思路
  • 首先Post提交表单数据,将登录信息给到服务器,通过之后拿到登录后的Cookie
  • 利用session保存登录后的Cookie,再请求登录后的Url,拿到我们需要的数据
实现

获取登录后的Cookie

import requests

url = "http://127.0.0.1:8000/login/"  # 登录页

header = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36"
          } # 请求头

session = requests.Session()  # 创建session

postData = {'usm': 'fun',
            'pwd': 'fun',
            }   #  表单数据


res = session.post(url,data=postData,headers=header)
print(res)  # 返回状态码

在这里插入图片描述 登录成功

请求登录后的网页

import requests


url = "http://127.0.0.1:8000/login/"  # 登录页

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

session = requests.Session()  # 创建session

postData = {'usm': 'fun',
            'pwd': 'fun',
            }   #  表单数据

res = session.post(url,data=postData,headers=headers)
print(res)  # 返回状态码


# 请求登录后的页面
response = session.get('http://127.0.0.1:8000/login/next_step/select/', headers=header)
print(response.text)

在这里插入图片描述 这里请求了一个查询页,返回正确的网页源码,可能大家会有所疑问,要是不带上Cookie直接请求会返回什么?为了打消这个疑问,展示:

# 请求登录后的页面
import request
headers = {
		"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36",
}

response = requests.get('http://127.0.0.1:8000/login/next_step/select/', headers=headers)
print(response.text) #返回网页文本

在这里插入图片描述 很显然,直接请求返回了登录页的源码,告诉我们必须通过登录才能请求,所以Cookie是必不可少的,它是识别用户身份的重要纽带。

最后

点关注不迷路,本文若对你有帮助,烦请三连支持一下 ❤️❤️❤️ 各位的支持和认可就是我最大的动力❤️❤️❤️

在这里插入图片描述

关注
打赏
1658128969
查看更多评论
立即登录/注册

微信扫码登录

0.0354s