【问题标题】:Scraping AJAX - loaded website in Python which url should I use抓取 AJAX - 在 Python 中加载的网站,我应该使用哪个 url
【发布时间】:2023-03-05 22:36:01
【问题描述】:

我使用 Selenium 抓取了以下网站:https://www.eex-transparency.com/homepage/power/czech-republic/production/availability/non-usability/non-usability。我正在抓取所有表格数据。它运行良好,但运行脚本需要相当长的时间。因此,我开始寻找替代方案,并在 StackOverflow 上使用 API 向服务器发送请求时遇到了几个主题,但经过数小时的尝试和搜索例如我放弃了,因为我没有得到几件事:

  • 如何对 API 进行逆向工程以发送正确的请求?
  • 我应该使用哪个 url 链接?

这是我想出的:

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 (-> Inspect -> Network -> XHR) 中找到正确的信息,以及如何从后面的信息来构建data 变量(我输入到requests)?

【问题讨论】:

    标签: javascript python json ajax api


    【解决方案1】:

    你可以使用Scrapy

    Scrapy,一个用于 Python 的快速高级网络抓取和抓取框架。

    https://github.com/scrapy/scrapy/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-04-06
      • 2016-12-22
      • 1970-01-01
      • 1970-01-01
      • 2016-04-18
      • 1970-01-01
      • 2021-09-26
      相关资源
      最近更新 更多