[英]Scraping with simple_html_dom
我正在嘗試刮擦:
<a id="pa1">Site1</a>
<font size="-1">Text1</font><br />
<font size="-1" color="green">Text2</font><br />
我很容易進入pa1。但是我想進入后面的兩種字體。
$html = new simple_html_dom();
$html->load($document);
foreach ($html->find('#pa1>font') as $e) {
$this->check_line_two = $this->process_array_elements($e->innertext);
}
foreach ($html->find('#pa1>font>font') as $e) {
$this->check_line_three = $this->process_array_elements($e->innertext);
}
兩者都不起作用。 如何使用簡單的html dom獲得下一個元素?
#pa1
沒有后代font
-tag。
您顯然在搜索的是兄弟選擇器+
: #pa1 + font
。 但是我不知道您所使用的庫是否支持它。
請閱讀他們的文檔: http : //simplehtmldom.sourceforge.net/manual.htm
就像Feeela所說的那樣,那些字體元素不是錨的后代。 嘗試這樣的事情:
foreach ($html->find('#pa1') as $e) {
$firstFontElement = $e->next_sibling();
}
如果這只是您要剪貼的全部內容,為什么不選擇字體標簽。
foreach ($html->find('font') as $e) {
$this->check_line_two = $this->process_array_elements($e->innertext);
}
還是文檔中可能存在更多字體標簽?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.