Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/298.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何制作一个小的php链接;蜘蛛“;并提取数据?_Php_Regex_Dom_Domdocument - Fatal编程技术网

如何制作一个小的php链接;蜘蛛“;并提取数据?

如何制作一个小的php链接;蜘蛛“;并提取数据?,php,regex,dom,domdocument,Php,Regex,Dom,Domdocument,我想蜘蛛一个简单的白色网站,有很多的html链接,代表 电话号码的姓名和地址。从每一页中,我想提取准确的3个字段 介于3个TD之间,例如: <div id="idTabResults2" align="center"> <TABLE border='1'> <tr><th>Name</th><th>Adress</th><th>Phone number</th&g

我想蜘蛛一个简单的白色网站,有很多的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>

姓名地址电话号码
约克郡约克郡555999
所以在上面的例子中,我会得到“乔”,“纽约”和555999。 稍后我将使用php和mysql将每个结果插入数据库。
有人能给我指出正确的方向吗?

您可以使用检索页面内容

一旦你有了内容,你就可以用PHP的

不要尝试使用正则表达式解析它。上帝会为此杀死一只小猫。

也许是比PeeHaa的解决方案更快(更简单)的方法:

  • 使用
    file\u get\u contents()检索页面
例如:

<?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
}
?> 


您可能需要的是HTML解析器,而不是正则表达式。那么如何使用DOM进行解析呢?真的很新。对每个链接进行迭代?是的,没错。只需在
require
之后开始循环,并在
foreach
花括号之后结束循环即可。