利用php从淘宝采集评论和成交数据

飘渺的悠远 飘渺的悠远     2022-08-01     231

关键词:

如果不想通过淘宝开放平台API获取数据,那么另外一个很好的办法就是采集了。一般来说,采集一个网页上的内容,只需要用CURL获取源代码,然后用正则表达式取出需要的内容就可以,不过如果这样载入一个淘宝的页面,会

如 果不想通过淘宝开放平台API获取数据,那么另外一个很好的办法就是采集了。一般来说,采集一个网页上的内容,只需要用CURL获取源代码,然后用正则表 达式取出需要的内容就可以,不过如果这样载入一个淘宝的页面,会发现根本没有评论和成交数据,直接查看源代码可以看到评论的是空的。分析页面后发现,淘宝 的评论并不是直接输出在页面中,而是在点击评论和成交的时候,才会跨域获取数据,并用脚本解析显示。

 

这样的处理方式使得 CURL页面的方式不好使用了,但是实际上获得数据反而更容易:使用CURL还必须考虑装修模板的问题,通用性并不好,而跨域获取的数据多数情况下是一个 标准的格式,通过抓取数据包最后发现淘宝的评论数据是从http://rate.taobao.com/feedRateList.htm?使用URL直 接GET方式过来的,并且是标准的JSON格式。 

 

数据地址:

  1. http://rate.taobao.com/feedRateList.htm?callback=jsonp_reviews_list&userNumId=【掌柜的账号数字ID】&auctionNumId=【商品ID】&currentPageNum=【评论分页页码】
复制

其他还有些参数可以不用。【掌柜的账号数字ID】抓包时可获取,商品ID在宝贝页面链接中的id值就是。

 

第 二步:解析数值。因为淘宝的页面编码是GBK的,而PHP在处理GBK编码的JSON文件时,对其中的中文处理是有问题的,会替换成空值,所以最后 JSON数据decode出来的是一个NULL,解决办法是将GBK编码转换为UTF-8。如果你的网站是UTF-8的,那么把从淘宝抓来的JSON直接 转成UTF-8然后decode就可用了,如果是GBK的,则转好后再转回GBK就可以。下面以http://item.taobao.com /item.htm?id=20972699241为例,UTF-8页面的处理方法:

  1. $ch = curl_init();//初始化,创建句柄
  2. curl_setopt($ch, CURLOPT_URL, "http://rate.taobao.com/feedRateList.htm?callback=jsonp_reviews_list&userNumId=1048567622&auctionNumId=20972699241&currentPageNum=1");//设置细节参数
  3. curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  4. curl_setopt($ch, CURLOPT_HEADER, 0);
  5. $str = curl_exec($ch);//获取内容
  6. $str = mb_convert_encoding($str,‘UTF-8‘,‘GBK‘);//转换编码
  7. $str = str_replace(‘jsonp_reviews_list(‘,‘‘,$str);//去掉多余的字符串
  8. $str = str_replace(‘)‘,‘‘,$str);
  9. $data = json_decode($str,TRUE);//得到数据了,第二个参数是转化为数组
  10. print_r($data)//输出页面查看
复制

注意几个细节:
1、从淘宝抓来的JSON是GBK编码的;
2、PHP的json_decode()函数处理GBK编码的中文数据是有问题的,需要转换UTF-8后处理;
3、iconv()和mb_convert_encoding()函数也各有优劣和BUG,注意处理。
4、curl函数的使用;
5、如果要采集不止一页评论,总的页面数可以在返回值中的maxpage获取。

 

购买记录数据的获取方法大同小异,天猫的评论获取地址也有所不同,不过方法都是一样的。

 

淘宝数据魔方技术架构解析(转)

淘宝网拥有国内最具商业价值的海量数据。截至当前(2011年8月),每天有超过30亿的店铺、商品浏览记录,10亿在线商品数,上千万的成交、收藏和评价数据。如何从这些数据中挖掘出真正的商业价值,进而帮助淘宝、商家进行企... 查看详情

是使用淘宝api获取数据好,还是利用爬虫去抓取数据好

利用爬虫:网页上显示的都可以,需要自己编程或借助工具。直接获取api:比较简单,当然这需要具备一定的技术基础,一般的话都只是提供给你数据,处理是需要技术手段去实现。参考技术Aapi稳定,直接用采集器采集比较方... 查看详情

智能网关助力提高工业数据采集和利用

...,就需要提高对生产运营各环节数据的采集、处理和利用效率。当前的工业数据采集仍存在种种不足,现可以利用具有强大设备接入能力、通信协议转换能力、数据通信能力、联动控制能力的工业智能网关,助力工业... 查看详情

链云淘宝客优惠券网站免费源码下载自动采集

链云淘宝客优惠券导购CMS自动采集PC端+手机端微商淘客必备链云优惠券CMS采用独立的程序+数据库,安全稳定性能优越,全自动操作,可自主设置自动或者手动采集,无需后期维护,一次建成,永久使用。自动采集优惠券和下单... 查看详情

php利用curl实现多线程抓取网页和下载文件

PHP利用Curl 可以完成各种传送文件操作,比如模拟浏览器发送GET,POST请求等等,然而因为php语言本身不支持多线程,所以开发爬虫程序效率并不高,一般采集数据可以利用PHPquery类来采集数据库,在此之外也可以用Curl,借助C... 查看详情

利用selenium爬取淘宝商品信息(代码片段)

一. Selenium和PhantomJS介绍Selenium是一个用于Web应用程序测试的工具,Selenium直接运行在浏览器中,就像真正的用户在操作一样。由于这个性质,Selenium也是一个强大的网络数据采集工具,其可以让浏览器自动加载页面,这样,使... 查看详情

数据分析干货|如何量化10w条电商评论相关的产品指标?

...集经验,我们可以帮助品牌采集全网电商平台(淘宝、天猫、京东、苏宁、唯品会、品牌官方商城等&#x 查看详情

淘宝客的cps模式盈利是啥

淘宝客的CPS模式盈利有:1、服务在线,是一种操作简单,适合在线出售卖家工具的盈利模式。服务平台为开发者的应用提供包括营销、订购、结算、分成在内的完整解决方案。开发者只需把应用发布到服务平台,借助服务平台... 查看详情

php从管理菜单中删除帖子,评论和工具(代码片段)

查看详情

php从帖子和页面中删除wordpress评论。(代码片段)

查看详情

数据分析干货|如何量化10w条电商评论相关的产品指标?

...集经验,我们可以帮助品牌采集全网电商平台(淘宝、天猫、京东、苏宁、唯品会、品牌官方商城等)的商品评论。字段包括主评、追评、回复、时间、评论人等。支持亿级评论抓取、实时采集新增评论、沉淀历史评... 查看详情

智能网关助力提高工业数据采集和利用

...,就需要提高对生产运营各环节数据的采集、处理和利用效率。当前的工业数据采集仍存在种种不足,现可以利用具有强大设备接入能力、通信协议转换能力、数据通信能力、联动控制能力的工业智能网关,助力工业... 查看详情

淘宝知识汇总1

...2倍之间关键词要从下拉框、直通车系统推荐词、top20万、淘宝top排行等 查看详情

微博评论采集

采集场景在微博主页(https://weibo.com/)登录后,打开微博博文链接,采集博文链接的评论数据。实例网址:https://weibo.com/1977661791/I7PgktlCh。采集字段博主用户名、发布时间、博文、分享数、评论数、点赞数、评... 查看详情

淘宝直通车名词

CTR:点击率CTR=点击量/展现量PPC:平均点击花费PPC=消耗/点击量PV:浏览量UV:访客数IPV:店铺浏览量IUV:店铺访客数ROI:单次点击效果指数(投入产出比)ROI=直通车成交金额/直通车消耗=客单价/(ppc*点击转化)=直接成交+间接成交/... 查看详情

php采集爬取单个淘宝商品描述,商品属性

    下载链接:https://download.csdn.net/download/a724008158/10723448   效果图: 查看详情

微博评论采集

采集场景在微博主页(https://weibo.com/)登录后,打开微博博文链接,采集博文链接的评论数据。实例网址:https://weibo.com/1977661791/I7PgktlCh。采集字段博主用户名、发布时间、博文、分享数、评论数、点赞数、评... 查看详情

天猫淘宝评论数据抓取

importrequestsimportre,jsonimportpandasclassbase():def__init__(self,url):self.url=urldefall_url(self):return[self.url+"%s"%iforiinrange(1,100)]defloads_jsonp(self,_jsonp):try:returnjson.loads(re.match 查看详情