我有一个基于PHP的网站,我希望从中复制数据。
问题是网站的数据只能通过公司名称搜索页面访问 - www.example.com/companynamesearch.php
结果显示在相同的网址下,因此没有单独的公司名称网址来抓取数据。
有人能建议一种从网站上提取数据的简单方法吗?
由于
答案 0 :(得分:1)
首先,您需要查询数据。弄清楚数据是否真的在这个页面上,并且数据是通过@JonathanM建议的AJAX进行的。您可以使用Fiddler或浏览器的开发人员工具等工具来监控此事。
如果您发现数据是通过AJAX进入的,那么您已全部设置完毕。它可能是JSON,但可以是任何类型,所以请注意。
如果数据在此页面上并且POST数据查询页面,那么您将必须发出这些POST请求然后解析页面。现在,不要自己这样做。使用DOMDocument为您挖掘页面。有关详细信息,请参阅此问题:How do you parse and process HTML/XML in PHP?
答案 1 :(得分:1)
如果您选择的语言是php,您应该查看curl的自动表单提交功能,这将使您能够自动化内部搜索引擎的表单。
这里有一个有用的stackoverflow答案 fill out a form automaticly using curl and php
或者您可以查看这些基本教程以帮助您入门: http://phpsense.com/2007/php-curl-functions/ http://devzone.zend.com/160/using-curl-and-libcurl-with-php/
使用curl与php将为您节省大量时间但是请注意,如果该网站的所有者不想让您刮掉他们的网站,那么您可能会遇到困难。当然还有可以想到的版权问题等等。
答案 2 :(得分:0)
您是否尝试过搜索Google site:www.example.com
?您可能会收到所有页面的列表。
他们可能提交了站点地图,或者谷歌可能找到了另一种方式。