我想提取以下部分容器的内容:
<section class="tiw-line-name " id="EU-group-holiday-line-0" data-side="both"> <a href="/event=479/darkmoon-faire"><img src="https://wow.zamimg.com/images/wow/icons/tiny/calendar_darkmoonfaireelwynnstart.gif">Darkmoon Faire</a> </section>
通常我这样使用 XPath:
$xpath->query('//*[contains(@id, "EU-group-holiday-line")]');
现在的问题是该网站似乎使用 javascript 来生成此内容。另外,我没有看到任何 XHR 请求,这会有所帮助。
是否有机会提取数据?
为了说得更清楚。这不是我的网站。我需要抓取它。
这是完整的页面:
https://www.wowhead.com/today-in-wow
P粉0417587002023-09-11 13:02:05
您是对的,该网站使用客户端 JavaScript,并且不会对上述数据使用额外的 XHR 请求。因此,我们可能期望数据位于最初加载的代码(HTML+JS)内。在代码中搜索类似 event=643
(类似于您的 event=479
)的内容可以确认我们的建议,并生成所需的 JSON 格式的子字符串(我已添加缩进) ):
{ "icon": "calendar_weekendmistsofpandariastart", "name": "Timewalking Dungeon Event", "side": "both", "url": "/event=643/timewalking-dungeon-event" },
所以你会看到提取的数据包含所需的数据,我们可能会使用各种工具来抓取它。