python 生成图表的数据请求始终为空

ffscu2ro  于 2023-02-07  发布在  Python
关注(0)|答案(1)|浏览(166)

我正在尝试使用python的request模块在一个网站上抓取生成图表的数据。
我的代码现在看起来像这样:

# load modules
import os
import json
import requests as r

# url to send the call to
postURL = "<insert website>"

# utiliz get to pull cookie data
cookie_intel = r.get(postURL, verify = False)

# get cookies
search_cookies = cookie_intel.cookies

#### Request Information ####

# API request data
post_data = <insert request data>

# header information
headers = {"user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36"}

# results 
results_post = r.post(postURL, data = post_data, cookies = search_cookies, headers = headers, verify = False)

# result
print(results_post.json())

作为一个简短的总结,我首先加载了站点,然后检查它,从那里我在网络标签中识别了请求的url,然后在负载标签中检查了所需的请求数据,然后我从请求头标签中取出了用户代理。
请求本身工作,但是,它总是空的。我已经尝试改变各种输入,但没有成功。我将非常感谢任何类型的提示,将帮助我解决这个问题。谢谢你提前!

7vux5j2d

7vux5j2d1#

在这种情况下,你必须使用json=而不是data=来根据requests文档发出post请求。通过替换这部分代码,你应该得到预期的响应。

results_post = r.post(postURL, json = post_data, cookies = search_cookies, headers = headers, verify = False)

您也可以尝试其他抓取工具,如Scrapy来抓取这些数据,或者使用estela在云中运行抓取器。

相关问题