【发布时间】: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,我正在寻找以下文件:
感谢您的帮助!
【问题讨论】:
-
你需要查看网页抓取 :)
-
您将不得不使用
requests或urllib(或类似)从服务器加载HTML,然后使用BeautifulSoup或lxml(或类似)从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