使用PHP获取已定义URL的主要内容的价格和图像

时间:2013-11-29 06:45:31

标签: php web-scraping web-crawler

首先,让我说我是前端工程师,对PHP知识有限。我可以制作简单的web服务来完成我的项目,但我并不是自称为Backend开发人员。 : - )

我正在闲暇时间创建一个网站,用户可以在其中输入产品的URL,并且使用php制作的服务返回页面上的5个最大图像,按大小排序。最大的图像通常是正确的图像。将此标记为完成一半..: - )

但是,现在我需要获得与产品匹配的价格,而不仅仅是页面上的任何价格。许多网上商店也列出了价格替代或相关的产品,因此可能有很多实例。我可以冒泡Dom三并匹配与所选图像在同一父级内的第一个价格。但这是要走的路吗?

如何追踪页面的主要内容,以便我的图像获取功能更精确,价格合适?由于我不知道标记,我如何识别主要内容?

至于获取价格,我尝试在课堂上获得indexOf价格的所有元素,这在90%的时间都有效。但是,如前所述,这给了我所有的价格 - 而不是价格。

所以,长话短说。我如何能: 1.识别网页的主要内容,而不知道它的标记? 2.或者找到与所选图像匹配的价格?

1 个答案:

答案 0 :(得分:3)

所以听起来你正在寻求帮助,找出算法来确定每页上的正确价格。

在这种情况下,我会编写首先获得所有价格的代码。然后我会扩展我的代码,为每个标识的价格添加尽可能多的元数据。

类似的事情:

  • 位于DOM的位置,
  • 文字在字符方面的距离
  • 样式信息,如字体大小
  • 这是从哪个网站上删除的
  • 页面上的位置

添加尽可能多的信息。

然后你做一些数据挖掘。刮了一堆页面。查看您是否可以识别元数据中的任何模式。启动特定于网站,然后将其推广到不同的网站。

根据您在元数据中看到的模式编写排名算法。然后根据您可以根据元数据识别的模式对每个价格进行排名。

允许您的用户识别您的程序何时出错,以便您可以改进算法。

或者,使用贝叶斯分析对您的数据进行自动化,以进行有根据的猜测,就像垃圾邮件过滤器当前清理垃圾邮件一样。

基于多页标准偏差对价格估算进行排名的奖励积分。基本上,看一下您的算法认为最适合所有您所抓取的页面的价格(我假设您想比较同一产品的多个卖家),并且不要偏好异常值,任何值都是超出预期范围的方式。