【问题标题】:Python Requests/Selenium hard scraping tablesPython Requests/Selenium 硬刮表
【发布时间】:2021-05-22 18:55:00
【问题描述】:

网址是:https://www.jao.eu/auctions#/

我需要获取/抓取并保存 jao.eu/auctions# 中存在的表格('AUCTION SPECIFICATIONS & RESULTS'),这些表格是在我在 OUT AREA、IN AREA、TYPE、AUCTION ID 等中操作选择之后出现的。 , 字段

例如,我需要获取选择后显示的表格:OUT AREA = 'AT', IN AREA = 'CH', type = 'Daily', Date = '23/05/2021', AUCTION ID = . ..

非常感谢

【问题讨论】:

    标签: python selenium-webdriver web-scraping python-requests


    【解决方案1】:

    要获取数据,您可以使用requests 模块模拟Ajax 请求。例如:

    import json
    import requests
    
    url = "https://www.jao.eu/api/v1/auction/calls/getauctions"
    
    payload = {
        "corridor": "AT-CH",
        "fromdate": "2021-05-22-22:00:00",
        "horizon": "Daily",
        "todate": "2021-05-23-21:59:59",
    }
    
    data = requests.post(url, json=payload).json()
    
    # uncomment this to print all data:
    # print(json.dumps(data, indent=4))
    
    for r in sorted(data[0]["results"], key=lambda k: k["productHour"]):
        print(
            r["productHour"],
            r["offeredCapacity"],
            r["requestedCapacity"],
            r["allocatedCapacity"],
            r["auctionPrice"],
        )
    

    打印:

    00:00-01:00 403 2379 403 14.23
    01:00-02:00 403 2440 403 14.9
    02:00-03:00 403 2290 403 8.45
    03:00-04:00 403 2290 403 5.34
    04:00-05:00 403 2215 403 2
    05:00-06:00 403 2240 403 1.98
    06:00-07:00 403 2125 403 0.56
    07:00-08:00 403 2102 403 0.53
    08:00-09:00 403 2100 403 0.31
    09:00-10:00 403 2100 403 0.31
    10:00-11:00 403 2106 403 0.31
    11:00-12:00 403 2189 403 0.88
    12:00-13:00 403 2230 403 1
    13:00-14:00 403 2240 403 1
    14:00-15:00 403 2242 403 1
    15:00-16:00 403 2148 403 0.68
    16:00-17:00 403 1990 403 0.33
    17:00-18:00 403 2007 403 0.34
    18:00-19:00 403 1935 403 0.3
    19:00-20:00 403 1935 402 0.15
    20:00-21:00 403 1935 402 0.15
    21:00-22:00 403 1935 402 0.15
    22:00-23:00 403 1935 402 0.15
    23:00-24:00 403 2036 403 0.25
    

    【讨论】:

    • Andrej 非常感谢您,请问您如何/在哪里找到有效载荷的密钥?
    • @DavideTessarollo 当您打开 Firefox 开发人员工具 -> 网络选项卡(在 Chrome 中类似)并进行新搜索时,您将看到此 URL 和页面发送/接收到服务器的数据。
    • 你能从这些参数中获取值的字符串吗? “走廊”:“BDL-NL-GB”,“地平线”:“月刊”,“月”:“六月”,“年”:“2020”,“AuctionID”:“BDL-NL-GB-M-BASE” ---200601-01",
    • @DavideTessarollo 为了不弄乱评论部分,我建议在 StackOverflow 上打开一个新问题。
    • 好的,我会继续另一个请求,请跟进
    猜你喜欢
    • 2016-11-19
    • 1970-01-01
    • 2021-06-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多