这是我在此网站上的第一个问题,如果不清楚的话,抱歉。
所以我的问题是,我想从没有API的网上商店获取所有产品ID。 产品ID如下:xy-000000
我知道我需要一个网络抓取程序,但是问题是我不知道如何用它来查找xy- 000000这样的特定单词。我尝试了许多网络爬虫,但是我唯一能找到的就是诸如标题或关键字之类的html标签。
我在Google上进行了大量搜索,发现一些网页抓取工具,但它们对我来说效果不佳。
正如我提到的那样,我想使用php从其他网上商店获取所有产品ID,以查找一些我不销售的产品。 (我的网上商店的商品ID彼此相同。)
任何人都可以帮我找到一个与我需要的PHP脚本相似的脚本吗?
这是我要使用的代码:
<?php
$data = file_get_contents('https://www.mesemix.hu/hu/superman-ruhanemuk/11292-szuperhosoek-mintas-zokni.html');
error_reporting(0);
preg_match('/<title>([^<]+)<\/title>/i', $data, $matches);
$title = $matches[1];
preg_match('/[0-9]{6}/', $data, $matches);
$number = $matches[1];
preg_match('/<img[^>]*src=[\'"]([^\'"]+)[\'"][^>]*>/i', $data, $matches);
$img = $matches[1];
echo $title."<br>\n";
echo $img."<br>\n";
echo $number;
echo $data;
?>
问题是我找不到6位数字。 ($ number)
在网上商店的源代码中,它看起来像这样:
var productReference ='SP- 418070';
如果我的问题有任何问题,请告诉我。
答案 0 :(得分:1)
您要查找的字词是“网络抓取工具”
您可以通过几种不同的方式来实现。
这两个PHP库之一
http://simplehtmldom.sourceforge.net/
或
https://github.com/FriendsOfPHP/Goutte
两者都很容易使用,两者都有文档
它们的工作方式就像jQuery(javascript)一样,将需要通过CSS选择器获取的数据作为目标