我正在尝试使用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,然后在负载标签中检查了所需的请求数据,然后我从请求头标签中取出了用户代理。
请求本身工作,但是,它总是空的。我已经尝试改变各种输入,但没有成功。我将非常感谢任何类型的提示,将帮助我解决这个问题。谢谢你提前!
1条答案
按热度按时间7vux5j2d1#
在这种情况下,你必须使用
json=
而不是data=
来根据requests文档发出post请求。通过替换这部分代码,你应该得到预期的响应。您也可以尝试其他抓取工具,如Scrapy来抓取这些数据,或者使用estela在云中运行抓取器。