使用 PHP 简单 HTML DOM 解析器进行抓取
scraping using PHP Simple HTML DOM Parser
我想使用 PHP 简单的 HTML DOM 解析器从网站上抓取。
源代码是如此随机:
<font face="Arial" color="#ff0000">
<p>Parameters</p>
</font><font face="Arial" size="2" color="#ff0000">
<p>Param1</p>
</font><font face="Arial" size="2" color="#0000ff">
<p>Details. (Lob., </font><i><font face="Arial"
size="2" color="#ff0000">Co v</font><font face="Arial" size="2"
color="#0000ff">.)</p>
不是直接将 "Details. (Lob., Co v.)" 放在
中,而是使用 和 来放置。
当我使用此代码时
foreach($html->find('p') as $p)
{
echo $p->plaintext.'<br>';
}
我发现 "Details. (Lob.," 它在找到 < i > 或 < font > 时停止。
如何提取整行 "Details. (Lob., Co v.)"
感谢您的回答
您可以使用strip_tags()函数来删除不需要的标签。删除不必要的标签后,您可以使用 DOM 解析器。
The strip_tags() function strips a string from HTML, XML, and PHP
tags.
string strip_tags ( string $str [, string $allowable_tags ] )
您可以在 php.net
上阅读有关 strip_tags() 函数的更多信息
示例:
$html = '<font face="Arial" color="#ff0000">
<p>Parameters</p>
</font><font face="Arial" size="2" color="#ff0000">
<p>Param1</p>
</font><font face="Arial" size="2" color="#0000ff">
<p>Details. (Lob., </font><i><font face="Arial"
size="2" color="#ff0000">Co v</font><font face="Arial" size="2"
color="#0000ff">.)</p>';
$html = strip_tags($string, '<p>');
echo $html;
结果:
<p>Parameters</p>
<p>Param1</p>
<p>Details. (Lob., Co v.)</p>
我想使用 PHP 简单的 HTML DOM 解析器从网站上抓取。 源代码是如此随机:
<font face="Arial" color="#ff0000">
<p>Parameters</p>
</font><font face="Arial" size="2" color="#ff0000">
<p>Param1</p>
</font><font face="Arial" size="2" color="#0000ff">
<p>Details. (Lob., </font><i><font face="Arial"
size="2" color="#ff0000">Co v</font><font face="Arial" size="2"
color="#0000ff">.)</p>
不是直接将 "Details. (Lob., Co v.)" 放在
中,而是使用 和 来放置。 当我使用此代码时
foreach($html->find('p') as $p)
{
echo $p->plaintext.'<br>';
}
我发现 "Details. (Lob.," 它在找到 < i > 或 < font > 时停止。 如何提取整行 "Details. (Lob., Co v.)"
感谢您的回答
您可以使用strip_tags()函数来删除不需要的标签。删除不必要的标签后,您可以使用 DOM 解析器。
The strip_tags() function strips a string from HTML, XML, and PHP tags.
string strip_tags ( string $str [, string $allowable_tags ] )
您可以在 php.net
上阅读有关 strip_tags() 函数的更多信息示例:
$html = '<font face="Arial" color="#ff0000">
<p>Parameters</p>
</font><font face="Arial" size="2" color="#ff0000">
<p>Param1</p>
</font><font face="Arial" size="2" color="#0000ff">
<p>Details. (Lob., </font><i><font face="Arial"
size="2" color="#ff0000">Co v</font><font face="Arial" size="2"
color="#0000ff">.)</p>';
$html = strip_tags($string, '<p>');
echo $html;
结果:
<p>Parameters</p>
<p>Param1</p>
<p>Details. (Lob., Co v.)</p>