我见过许多电子商务门户网站,它们显示了来自世界各地另一个更大的电子商务网站的产品列表。
我认为,通过在php中使用file_get_contents或CURL,获取不是什么大问题,但问题是,
他们是否提供了一些api来允许其他人获取他们的数据/产品信息?
我们需要获得他们的权限才能从他们的网站获取数据吗。
是否有一些优雅而具体的方法/方式来获取数据以显示在我们的网站上(而不是CURL&file_get_contents)?
一些网站提供他们的API来访问数据。有些是花钱的,有些可能是免费的。无论如何,是的,你需要得到许可。
但你总是可以在未经许可的情况下抓取他们的网站。
这里有一些关于这个主题的一般指南。
- 你应该检查一下他们是否有一个robot.txt文件拒绝访问网站的某些区域
- 尽管复制内容存在版权问题,但搜索引擎一直在发布网站内容的摘录。因此,在某种程度上,复制内容在法律上是允许的
- API有时是可用的,但搜索引擎总是在没有任何许可的情况下抓取网站(也许除了robot.text文件)
- 尊重网站所有者关于带宽的意愿。写得不好的机器人代码可能会浪费服务器资源
- 如果你能得到许可,那就更好了
我使用cURL和DomDocument类。我不知道在优雅方面你还想要什么。
- 编写一个爬网程序,从这些网站获取你想要的所有数据
- 使用API(如果提供)。但通常要花很多钱
- 使用第三方软件创建自己的API