首页  >  问答  >  正文

提取特定页面的 javascript 生成的内容

我想提取以下部分容器的内容:

<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粉536909186P粉536909186378 天前435

全部回复(1)我来回复

  • P粉041758700

    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"
    },

    所以你会看到提取的数据包含所需的数据,我们可能会使用各种工具来抓取它。

    回复
    0
  • 取消回复