session spider

原理

  • 爬虫的session会话对象:

    • 在爬虫里,session对象是一个非常常用的对象,这个对象代表一次用户会话(从客户端浏览器连接服务器开始,到客户端浏览器与服务器断开)。session对象能让我们在跨请求时候保持某些参数,比如在同一个 Session 实例发出的所有请求之间保持 cookie。

  • 基于session对象实现自动处理cookie。

    • 1.创建一个空白的session对象。

    • 2.需要使用session对象发起请求,请求的目的是为了捕获cookie

      • 注意:如果session对象在发请求的过程中,服务器端产生了cookie,则cookie会自动存储在session对象中。

    • 3. 使用携带cookie的session对象,对目的网址发起请求,就可以实现携带cookie的请求发送,从而获取想要的数据。

  • 注意:session对象至少需要发起两次请求

    • 第一次请求的目的是为了捕获存储cookie到session对象

    • 后次的请求,就是携带cookie发起的请求了

session_spider.py

import requests

url = 'http://download.java1234.com/user/login'
headers = {
    'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36',
    'Referer': 'http://download.java1234.com/login.html'
}

payload = {
    'userName': 'Will_D',
    'password': '92java'
}

session = requests.Session()
session.post(url, headers=headers, data=payload)

page_url = 'http://download.java1234.com/'
response = session.get(url=page_url, headers=headers)
response.encoding = 'utf-8'
print(response.text)

Last updated