我想提取以下部分容器的內容:
<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" },
所以你會看到提取的數據包含所需的數據,我們可能會使用各種工具來抓取它。