Php从网站上搜索数据

时间:2013-03-24 17:22:18

标签: php screen-scraping

我对编程非常陌生,需要一些帮助才能从网站获取数据并将其传递到我的PHP脚本中。

该网站为http://www.birthdatabase.com/

我想插入一个名字(First和Last)并检索结果。我知道您可以通过在URL中传递名称来查询网站,但是我在抓取结果时遇到了问题。

http://www.birthdatabase.com/cgi-bin/query.pl?textfield=FIRST&textfield2=LAST&age=&affid=

我正在使用file_get_contents($ URL)函数来获取页面,但之后需要帮助。具体来说,如果该名称有多个结果,我只想抓取某个州的结果。

感谢您的帮助。

1 个答案:

答案 0 :(得分:2)

你需要一个很棒的simple_html_dom类。

使用此类,您可以以与jQuery类似的方式查询网页的DOM。

首先在您的网页中加入该类,然后使用此代码段获取网页内容:

$html = file_get_html('http://www.birthdatabase.com/cgi-bin/query.pl?textfield=' . $first . '&textfield2=' . $last . '&age=&affid=');

然后你可以使用CSS选择来抓取你的数据(如下所示):

$n = 0;
foreach($html->find('table tbody tr td div font b table tbody') as $element) {
    @$row[$n]['tr']  = $element->find('tr')->text;
    $n++;
}

// output your data
print_r($row);