I am very new to programming and need a little help with getting data from a website and passing it into my PHP script.
The website is http://www.birthdatabase.com/.
I would like to plug in a name (First and Last) and retrieve the result. I know you can query the site by passing the name in the URL, but I am having problems scraping the results.
http://www.birthdatabase.com/cgi-bin/query.pl?textfield=FIRST&textfield2=LAST&age=&affid=
I am using the file_get_contents($URL) function to get the page but need help after that. Specifically, I would like to scrape only the results from a certain state if there are multiple results for that name.
You need the awesome simple_html_dom class.
With this class you can query the webpage's DOM in a similar way to jQuery.
First include the class in your page, then get the page content with this snippet:
$html = file_get_html('http://www.birthdatabase.com/cgi-bin/query.pl?textfield=' . $first . '&textfield2=' . $last . '&age=&affid=');
Then you can use CSS selections to scrape your data (something like this):
$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);
Source: http://stackoverflow.com/questions/15601584/php-scraping-data-from-a-website
The website is http://www.birthdatabase.com/.
I would like to plug in a name (First and Last) and retrieve the result. I know you can query the site by passing the name in the URL, but I am having problems scraping the results.
http://www.birthdatabase.com/cgi-bin/query.pl?textfield=FIRST&textfield2=LAST&age=&affid=
I am using the file_get_contents($URL) function to get the page but need help after that. Specifically, I would like to scrape only the results from a certain state if there are multiple results for that name.
You need the awesome simple_html_dom class.
With this class you can query the webpage's DOM in a similar way to jQuery.
First include the class in your page, then get the page content with this snippet:
$html = file_get_html('http://www.birthdatabase.com/cgi-bin/query.pl?textfield=' . $first . '&textfield2=' . $last . '&age=&affid=');
Then you can use CSS selections to scrape your data (something like this):
$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);
Source: http://stackoverflow.com/questions/15601584/php-scraping-data-from-a-website
No comments:
Post a Comment