我需要做的是使用许多标签解析html而不使用id
或class
,并且我要解析的网站包含分页。
这是我想要获得的HTML部分的一个例子:
<tr>
<th> number of pages </th>
<td>
<p> 160 </p> <==== just need the 160
</td>
</tr>
首先,我使用foreach($html->find('tr', 4)->find('td p') as $bookPages)
但是我有错误,因为:对于第1页,<tr>
位于第4位,所以我得到了一个好结果,但在其他页面中,它位于第3位或5位(对于第1位)例如)因为我可以看到网页上的页面之间缺少一些信息,我正在解析。
任何方式执行以下操作:
foreach($html_book_page->find('th["the content of the th tag : number of pages"]') as $bookPages)
如果没有id或类,如何根据HTML元素的内容搜索HTML元素并获取下一个标记(在我的情况下为td p
)?
谢谢大家。
答案 0 :(得分:0)
for(i = 0; i<$data.find('tr').length; i++){
info[i]=($($data).find('td').eq(i).find('p').text()).replace(/\n\r/g, '').trim();
}
尝试创建一个数组。输出应该是<p>
标签中的文本...即160