从网站抓取数据


Php Scraping data from a website

我是非常新的编程,需要一点帮助,从一个网站获取数据,并将其传递到我的PHP脚本。

网址:http://www.birthdatabase.com/

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

http://www.birthdatabase.com/cgi-bin/query.pl?textfield=FIRST& textfield2 =来看,这些年龄=,affid =

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

谢谢你的帮助。

你需要一个很棒的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);