【问题标题】:python-requests does not grab JSESSIONIDpython-requests 不抓取 JSESSIONID
【发布时间】:2022-01-03 13:46:04
【问题描述】:

我正在尝试使用请求来抓取网站。但是,我需要使用的 post 方法需要以下标题。我可以填写除 JSESSION ID 之外的所有内容。我可以让这个 post 方法工作的唯一方法是,如果我手动进入浏览器,启动一个会话并检查页面以检索 JSESSIONID。

我正在寻找一种使用 python 中的 requests 包检索此 JSESSIONID 的方法。我看到了一些关于使用会话的建议。但是,请求会话不会获取 JSESSIONID,这是我唯一需要的。我应该如何寻找可能的解决方案?

Host: 
Connection: 
Content-Length:
Accept: 
X-Requested-With: 
User-Agent: 
Content-Type:
Sec-GPC: 
Origin: 
Sec-Fetch-Site: 
Sec-Fetch-Mode: 
Sec-Fetch-Dest: 
Referer: 
Accept-Encoding:
Accept-Language: 
Cookie: _1aa19=; JSESSIONID=;

我目前尝试的是使用 requests 包中的会话,它应该存储会话的 cookie。但是,在我使用 .get 方法之后,requests.cookies 没有存储 JSESSIONID

query = 'Example%20query'
s = requests.Session()
suggest = s.get(f'https://www.examplewebsite.nl/api/geocoder/v3/suggest?query={query}').json()
s.cookies

【问题讨论】:

  • 先做_ = s.get('https://www.wozwaardeloket.nl')

标签: python web-scraping post cookies python-requests


【解决方案1】:

JSESSIONID是在你先去https://www.wozwaardeloket.nl页面时生成的。

import requests


query = 'Example%20query'
s = requests.Session()
s.get('https://www.wozwaardeloket.nl')
suggest = s.get(f'https://www.wozwaardeloket.nl/api/geocoder/v3/suggest?query={query}').json()
print(s.cookies.get("JSESSIONID"))

【讨论】:

  • 你也有在scrapy中使用cookie的经验吗?该解决方案现在使用 requests 包运行良好。但是,当迁移到 scrapy 时,我现在遇到了 scrapy 正在检索 JSESSIONID 的问题
猜你喜欢
  • 1970-01-01
  • 2019-05-18
  • 1970-01-01
  • 2019-04-09
  • 1970-01-01
  • 1970-01-01
  • 2019-04-26
  • 2015-10-23
  • 2018-05-19
相关资源
最近更新 更多