0

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

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

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

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

谢谢

4

3 回答 3

1

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

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

或者您可以查看这些基本教程以帮助您入门: http: //phpsense.com/2007/php-curl-functions/ http://devzone.zend.com/160/using-curl-and-libcurl-with -php/

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

于 2014-06-02T22:29:32.733 回答
1

首先,您需要查询数据。确定数据是否真的在此页面上,并且数据是否按照@JonathanM 的建议通过 AJAX 进入。您可以使用 Fiddler 之类的工具或浏览器的开发人员工具来监控这一点。

如果您发现数据是通过 AJAX 传入的,那么您就大功告成了。它可能是 JSON,但可以是任何类型,因此请注意。

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

于 2014-06-02T22:23:17.280 回答
0

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

他们可能已经提交了站点地图,或者 Google 可能已经找到了另一种方式。

于 2014-07-04T07:42:51.550 回答