前端之家收集整理的这篇文章主要介绍了
PHP实现采集抓取淘宝网单个商品信息,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
调用淘宝的数据可以使用淘宝提供的api,如果只需调用淘宝商品图片名称等公开信息在自己网站上,使用PHP中的 file_get_contents 函数实现即可。
思路:
file_get_contents(url) 该函数根据 url 如 http://www.baidu.com 将该网页内容(源码)以字符串形式输出(一个整字符串),然后配合preg_match,preg_replace等这些正则表达式操作就可以实现获取该url特定div,img等信息了。当然前题是淘宝在单个商品页面的结构是固定的,如500图的img中id就是J_ImgBooth!
A.获取500图:
]*id="J_ImgBooth"[^r]*rc=\"([^"]*)\"[^>]*>/',$text,$img);
//运用正则抓取
img标签中id为J_ImgBooth的img,$img[0]为该500图
img标签,$img[1]为500图的
图片地址;
([^<>]*)<\/title>/',$title);
//因为正文中的商品
名称标签没有特殊class或id正则不好抓取,就抓
标签中的内容了,一般来说title中内容就是商品名称了(实际有些出入),$title[0]整个title标签 $title[1]标签中内容;
$title=iconv('GBK','UTF-8',$title);
//如果你的网站是utf8编码,那么需要进行一下转码(淘宝是gbk编码)
C.获取价格:
]*>([^<]*)<\/\\1>/is',$price);
//同理
获取id为J_StrPrice的
标签内容$price[2],$price[0]是整个
标签, $price[1]为h3
标签名;
$price=floatval($price);//放入
数据库估计还有转一下变量类型
这之前获取的内容都是在单标签中相对只需一个正则就可搞定,然而如果要获取如
…