【问题标题】:How do I find an element from a web page and import it into a Google Sheets cell?如何从网页中查找元素并将其导入 Google 表格单元格?
【发布时间】:2021-04-13 02:44:52
【问题描述】:

我正在尝试从这里的网页中抓取:https://explorer.helium.com/accounts/14Jydka1ufeZBXAHNmjK9SWedvWtufdaJRbEMgtF8Bifc6Dv7Gm

我正在尝试找出如何提取“Rewards(24H)”下方的数字并将其导入到单元格中。

我尝试使用 ImportXML 函数,但它给了我“导入的内容为空”错误。

经过一番研究,我认为该元素不是服务器端的,因为我在源代码中找不到它。所以我打开了页面的开发者工具,点击了网络选项卡并刷新了页面。

我过滤了结果以仅查看 XHR 部分。单击 Headers 选项卡将在 Request URL 部分显示许多 API。

这是我所知道的。我在任何 JSON 代码中都找不到对 Rewards(24H) 编号的任何引用。

如果有人能解释我如何找到该号码并将其导入 Google 表格单元格,我将不胜感激,最好每小时自我更新一次。

谢谢!

【问题讨论】:

    标签: json api web-scraping google-sheets google-sheets-formula


    【解决方案1】:

    在看到上述 URL 数据的网络请求来自 api.helium.io 之后,您可以按照以下代码获取所需的数据,仅供参考,该网站已经提供 API 并在此处提供文档:API Documentation 所以如果你有其他数据,你也可以遵循这个,根据我的猜测,你无法找到数据,因为它被四舍五入到小数点后 2 位,因为 API 给出的结果高达 5 到 6,所以这可能是你没有的原因能够找到在 XHR 请求中显示的数据。

    代码:

    import datetime
    import requests
    dt = datetime.datetime.now(datetime.timezone.utc)
    querystring = {"min_time":"-60 day","max_time":dt.strftime("%Y-%m-%dT%H:%M:%SZ"),"bucket":"day"}
    response=requests.get('https://api.helium.io/v1/accounts/14Jydka1ufeZBXAHNmjK9SWedvWtufdaJRbEMgtF8Bifc6Dv7Gm/hotspots').json()
    for data in response["data"]:
        print(f"name:{data['name']}")
        internal_data =requests.get(f"https://api.helium.io/v1/hotspots/{data['address']}/rewards/sum",params=querystring).json()
        last24hour=internal_data["data"][0]["total"]
        last7days=0
        for i in range(0,7):
            last7days+=internal_data["data"][i]["total"]
        last30days = 0
        for i in range(0, 30):
            last30days += internal_data["data"][i]["total"]
        print(f"24H : {round(last24hour,2)}")
        print(f"7D : {round(last7days, 2)}")
        print(f"30D : {round(last30days, 2)}")
    

    输出:

    如果您有任何问题,请告诉我:)

    【讨论】:

    • 谢谢 J B,我现在就调查一下。另外,您的代码是用什么语言编写的?
    • 它是用 python 语言编写的,我忘了你甚至可能需要将此数据添加到你的谷歌表格中,你可以使用 gspread 库将数据添加到表格中。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-01-28
    • 2013-04-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-25
    • 1970-01-01
    相关资源
    最近更新 更多