从PHP站点拉数据-复制数据库


Pull Data from PHP site - Replicate database

有一个基于PHP的网站,我想复制的数据。

问题是网站的数据只能通过公司名称搜索页面访问- www.example.com/companynamesearch.php

结果显示在相同的URL下,因此它没有单独的公司名称URL来抓取数据。

谁能建议一个简单的方法从网站提取数据?

谢谢

首先,需要查询数据。弄清楚数据是否真的在这个页面上,数据是否像@JonathanM建议的那样通过AJAX进入。你可以使用像Fiddler这样的工具或者你浏览器的开发工具来监控。

如果您发现数据是通过AJAX进来的,那么一切都准备好了。它可能是JSON,但也可以是任何类型,所以请注意。

如果数据在该页上,并且该页是通过POST数据查询的,那么您将不得不发出这些POST请求,然后解析该页。现在,你自己不要这么做。使用DOMDocument为您挖掘页面。有关详细信息,请参见这个问题:如何在PHP中解析和处理HTML/XML ?

如果您选择的语言是php,那么您应该考虑curl的自动表单提交功能,它将使您能够自动化内部搜索引擎的表单。

这里有一个有用的stackoverflow答案使用curl和php自动填写表单

或者你可以看看这些基本的教程来开始:http://phpsense.com/2007/php-curl-functions/http://devzone.zend.com/160/using-curl-and-libcurl-with-php/

在php中使用curl可以节省大量的时间,但是要注意,如果网站的所有者不希望您抓取他们的网站,那么您可能会遇到困难。当然还有版权问题要考虑,等等。

你试过在谷歌上搜索site:www.example.com吗?你可能会得到一个所有页面的列表。

他们可能提交了一个站点地图,或者谷歌可能找到了其他方法。