【发布时间】:2019-04-26 12:08:42
【问题描述】:
我正在尝试在不执行 javascript 的情况下在网页上抓取 AJAX 加载的部分。通过使用 Chrome 开发工具,我发现 AJAX 容器正在通过 POST 请求从 URL 中提取内容,因此我想使用 python requests 包复制请求。但奇怪的是,通过使用 Chrome 提供的Headers 信息,我总是得到 400 错误,从 Chrome 复制的 curl 命令也会发生同样的情况。所以我想知道是否有人可以分享一些见解。
我感兴趣的网站是here。使用 Chrome:ctrl-shift-I、network、XHR,我想要的部分是“内容”。我正在使用的脚本是:
headers = {"authority": "cafe.bithumb.com",
"path": "/boards/43/contents",
"method": "POST",
"origin":"https://cafe.bithumb.com",
"accept-language": "zh-CN,zh;q=0.9,en;q=0.8",
"user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.102 Safari/537.36",
"accept-encoding":"gzip, deflate, br",
"content-type": "application/x-www-form-urlencoded; charset=UTF-8",
"accept":"application/json, text/javascript, */*; q=0.01",
"referer":"https://cafe.bithumb.com/view/boards/43",
"x-requested-with":"XMLHttpRequest",
"scheme": "https",
"content-length":"1107"}
s=requests.Session()
s.headers.update(headers)
r = s.post('https://cafe.bithumb.com/boards/43/contents')
【问题讨论】:
标签: python html ajax python-requests