簡體   English   中英

php抓取meta itemprop標簽

[英]php scraping a meta itemprop tag

我正在測試我的抓取能力,試圖從任何種類的標簽中輸出值。 遇到我不確定如何工作的問題,它包含在meta itemprop標簽中。

源代碼看起來像這樣,在這里我試圖在meta itemprop標簽名稱“ priceChangePercent”下抓取並輸出-0.205。 (請參閱底行)。 *值是隨機的,取決於一天中的時間。

 <meta itemprop="name" content="USDJPY Spot Exchange Rate" /> <meta     
itemprop="url" content="https://www.bloomberg.com/quote/USDJPY:CUR" />   
<meta itemprop="tickerSymbol" content="USDJPY" /> <meta  
itemprop="exchange" content="" /> <meta itemprop="price" content="111.95" 
/> <meta itemprop="priceChange" content="-0.23" /> <meta 
itemprop="priceChangePercent" content="-0.205" />

目前,在正在運行的代碼中,我正在標識如下內容:

$query = "//div[@class='change-container']";

哪個很好。

我到底要修改什么? 我試過了

$query = "//meta[@itemprop='priceChangePercent']";

沒運氣。 這來自此網址: https ://www.bloomberg.com/quote/USDJPY: CUR

非常感謝。

我的完整代碼:

<?php 

  // this is yearly u.s. stock data
$doc = new DOMDocument;

// We don't want to bother with white spaces
$doc->preserveWhiteSpace = false;

 $doc->strictErrorChecking = false;
$doc->recover = true;

 $doc->loadHTMLFile('https://www.bloomberg.com/quote/USDJPY:CUR');

 $xpath = new DOMXPath($doc);

$query = "//meta[@itemprop='priceChangePercent']";

$entries = $xpath->query($query);
foreach ($entries as $entry) {
echo trim($entry->textContent);  // use `trim` to eliminate spaces


}

?>

以您的代碼示例:

echo trim($entry->textContent);

我將其修改為:

echo trim($entry->getAttribute('content'));

您的代碼似乎正在獲取meta標記的文本內容,該標記本身沒有文本內容,只有屬性內容。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM