[英]How to return in php DOMXPath object?
現在發現查詢,如果'$ NotXP-> query'=查詢返回字符串?!
下一個代碼如何工作?
$xp = new \DOMXPath(@\DOMDocument::loadHTMLFile($url));
$list = $xp->query('//table[@class="table-list quality series"] tbody');
$link = $list->query('//tr[@class="item"]');
$arr_links = [];
foreach ($link as $link_in_cycle) {
$link_quality = $link_in_cycle->query('//td[@class="column first video"]');
$link_audio = $link_in_cycle->query('//td[@class="column audio"]');
$link_size = $link_in_cycle->query('//td[@class="column size"]');
$link_seed = $link_in_cycle->query('//td[@class="column seed-leech"] span[@class="seed"]');
$link_download_url = $link_in_cycle->query('//td[@class="column last download"] a')->getAttribute("data-default");
請求的HTML源@ nigel-ren
從此代碼需要獲取信息
<tbody>
<tr class="item">
<td class="column first video">720x400</td>
<td class="column audio">mp3</td>
<td class="column size">5.70 Gb</td>
<td class="column seed-leech">
<span class="seed">15</span>
<span class="leech">26</span>
</td>
<td class="column updated">07.07.2017</td>
<td class="column consistence"><a href="javascript:void(0);" title="title in td" data-type="torrent-consistence" class="show-modal show-consistence" data-route="/hashinfo/12345?fields=files"></a></td>
<td class="column last download">
<a class="button middle rounded download zona-link"
data-type="download"
data-zona="0"
data-torrent=""
data-default="url_data"
data-not-installed=""
data-installed=""
data-metriks="{'eventType': 'click', 'data' : { 'type': 'show_download', 'id': '84358'}}"
title="text in title" href="javascript:void(0);" >Download</a> </td>
我進行了一些更改以幫助調試代碼。 最主要的是,您的XPath表達式無效,您始終可以嘗試使用FreeFormatter這樣的站點,該站點允許您使用一些示例源檢查表達式。
$doc = new \DOMDocument();
$doc->loadHTMLFile($url);
$xp = new \DOMXPath($doc);
$list = $xp->query('//table[@class="table-list quality series"]//tr[@class="item"]');
$arr_links = [];
foreach ($list as $link_in_cycle) {
$link_quality = $xp->query('//td[@class="column first video"]/text()', $link_in_cycle)[0]->wholeText;
$link_audio = $xp->query('//td[@class="column audio"]/text()', $link_in_cycle)[0]->wholeText;
$link_size = $xp->query('//td[@class="column size"]/text()', $link_in_cycle)[0]->wholeText;
$link_seed = $xp->query('//td[@class="column seed-leech"]//span[@class="seed"]/text()', $link_in_cycle)[0]->wholeText;
$link_download_url = $xp->query('//td[@class="column last download"]//a/@data-default', $link_in_cycle)[0]->value;
echo $link_quality.PHP_EOL;
echo $link_audio.PHP_EOL;
echo $link_size.PHP_EOL;
echo $link_seed.PHP_EOL;
echo $link_download_url.PHP_EOL;
}
XPath表達式嘗試檢索每個元素中的文本節點,這將返回所有節點的列表,此代碼確實假定實際內容周圍沒有空格(並使用[0]來獲取其中的第一個元素名單)。 整個wholetext
只是DOMText元素的實際內容。
使用您給出的示例內容(加上我必須發明的周圍內容),它給出了...
720x400
mp3
5.70 Gb
15
Download
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.