【问题标题】:Scraping accessibility JSON抓取可访问性 JSON
【发布时间】:2021-07-16 14:39:33
【问题描述】:

我需要解析一个使用 JS 并从其他各种站点动态加载的网站。我要查找的信息未在源代码中公开,并且该站点似乎也没有用于轻松访问正在加载的数据的 API。但是,我可以在 Mozilla Accessibility Inspector 模块中完美地看到它(右键单击 -> “Inspect Accessibility Properties”,或“Tools”/“Web Developer”/“Accessibility”)。这可以很容易地导出为 JSON(右键单击 -> 显示为 JSON)然后保存。我的问题是如何自动检索这些数据,最好是在 Python 中。

例如,对于https://en.wikipedia.org/wiki/Main_Page,我正在寻找以下文件:

感谢您的帮助!

【问题讨论】:

  • 你需要查看网页抓取 :)
  • 您将不得不使用requestsurllib(或类似)从服务器加载HTML,然后使用BeautifulSouplxml(或类似)从HTML 中搜索元素 - 但对于不同的元素需要单独的代码。您可以使用pandas.read_html(url) 获得 HTML 中的简单表格,它会将所有表格返回为 DataFrames(PL: powodzenia :))
  • 你用什么浏览器?我在Accessibility 中看不到JSON 在我的Firefox
  • @furas 感谢您的回答!我知道。我正在寻找的不在 HTML 中。举个例子,我尝试在flashscore.com/tennis 中访问特定网球比赛的赔率(我没有提供任何特定比赛的链接,因为它很快就会过期)。在源代码中找不到赔率,它们也不是由脚本在后台加载的。但它们是从其他网站链接的,您可以在 Accessibility JSON 中找到它们。我想知道我是否可以自动检索这个文件。或者,也许还有另一种访问它的方法。
  • AOM 在浏览器中,但还没有 API。在此处查看有关开发规范的更多信息:wicg.github.io/aom/explainer.html

标签: python json web-scraping accessibility


【解决方案1】:

我遇到了类似的问题,最后通过 javascript 从 selenium 获取值解决了它

name = driver.execute_script("return document.getElementById('Name').value")

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-03-11
    • 1970-01-01
    • 1970-01-01
    • 2015-07-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多