我想蜘蛛一个简单的白色网站,有很多的html链接,代表一个电话号码的名字和地址。从每个页面,我想提取确切的3个字段在3个TD之间,例如:
<div id="idTabResults2" align="center">
<TABLE border='1'>
<tr><th>Name</th><th>Adress</th><th>Phone number</th></tr>
<TR>
<TD>Joe</TD><TD>New York</TD><TD>555999</TD></TR>
</TABLE>
</div>
在上面的例子中,我会得到"Joe", "New York" &555999.我使用php和mysql稍后插入每个结果到我的数据库。谁能告诉我怎么做这件事的正确方向?
可能是比PeeHaa的解决方案更快(更简单)的方法:
- 使用
file_get_contents()
检索页面 - 用简单DOM解析器解析
<?php
require("simple_html_dom.php");
$data = file_get_contents(YOUR_PAGE_HERE);
$html = str_get_html($data);
$tds = $html->find('td');
foreach ($tds as $td) {
// Do something
}
?>
您可以使用cURL检索页面内容。
一旦你有了内容,你可以用PHP的DOM解析它。
不要尝试使用正则表达式解析它。