【发布时间】:2020-06-05 21:10:11
【问题描述】:
我尝试使用 Python/BeautifulSoup 从这个站点:https://price.metal.com/Rare-Earth(稀土材料价格)网络抓取数据。问题不在于 Python,而在于网站的 HTML 源代码。当我使用 Firefox 的“检查元素”功能时,我得到了我正在寻找的所需数据/HTML 标记:
<div class="td-border-item frame-text-over-flow" title="294,000 ~ 299,000"> 294,000 ~ 299,000
但问题是当我查看https://price.metal.com/Rare-Earth的页面源时,我找不到上面的元素
所以我很好奇是否还有另一个 HTML 文件包含我正在寻找的信息?
【问题讨论】:
-
是的。有对
https://price.metal.com/api/get_product_lists?t=1582288095974&second_level_name=rare+earth的 AJAX 调用,其中有"newest_price":{"Average":296500,"Highs":299000,"Low":294000, -
数据可能已通过 JavaScript 加载和插入。实际加载了哪些资源,使用浏览器开发工具、网络面板应该很容易弄清楚。