我抓取了以下网站:https://www.eex-transparency.com/homepage/power/czech-republic/production/availability/non-usability/non-usability使用 Selenium 。我正在抓取所有表数据。它运行良好,但运行脚本需要相当长的时间。因此,我开始寻找替代方案,并在 StackOverflow 上使用 API 向服务器发送请求时遇到了几个主题,但经过几个小时的尝试和搜索后,我放弃了,因为我没有得到几件事:
- 如何对 API 进行逆向工程以发送正确的请求?
- 我应该使用哪个网址链接?
这是我想到的:
import json
import requests
url = "https://www.eex-transparency.com/ajax/en/navigation/ajaxGetNavi/12"
data = {
"id": "16",
"title": "Czech Republic",
"url": "https:\\/\\/www.eex-transparency.com\\/homepage\\/power\\/czech-republic",
"class": "country",
"description": "",
"children": [
{
"id": "649",
"title": "Production",
"url": False,
"class": "",
"description": "",
"children": [
{
"id": "650",
"title": "Capacity",
"url": False,
"class": "",
"description": "",
"children": [
{
"id": "651",
"title": "Installed Capacity",
"url": "https:\\/\\/www.eex-transparency.com\\/homepage\\/power\\/czech-republic\\/production\\/capacity\\/installed-capacity",
"class": "",
"description": ""
}
]
}
]
}
]
}
response = requests.get(url, data=data)
file = response.json()
一般来说,也许有人可以解释一下,我应该采取哪些步骤来抓取后一个网页,我特别感兴趣如何从 Chrome 中找到正确的信息(-> 检查 -> 网络 -> XHR)以及如何从后面的信息用于构建 data
变量(我输入到 requests
中)?
最佳答案
关于javascript - 抓取 AJAX - 在 Python 中加载网站,我应该使用哪个 url,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47485792/