网站上线前都需要弄点“假数据”让网站好看点,一般公司都是从AMAZON的店铺上把热销的产品review放到网站上,无奈AMAZON防爬虫的功夫一流(主要是我懒得再写爬虫有现成的为什么不用?),magento好像也没有这样的插件,当然你的老板愿意手动复制粘贴就另当别论了,反正这个世界傻子总是不缺的。下面我们来BB一下怎么抓取然后导入到magento。

提前申明我不是给某软件来打广告的

准备工作 

1、高速翻墙软件(如果你不介意慢的话可以不开)

2、下载安装后羿采集器(自行百度)

开始抓取

1.打开要采集的amazon产品页面,拖动滚动条到review,点击“See all 4,571 reviews”跳转到评论详情页,并复制浏览器上的地址;

2.打开采集器在输入框内粘贴地址,点击“智能采集”;(若你电脑上装有360可能会弹出警告,勾选不再提醒,允许即可)

然后滚动采集器的滚动条会自动滚到页面底部,最好不要切换屏幕干别的,目的是让采集器识别网页内容,识别完成后采集器下方会出现能采集到的数据:

3.设置采集范围,很显然我们不需要采集所有数据,若这个产品评论有几千条我们只需要采集1-5页即可不要太多,点击“设置采集范围”

4.过滤采集内容,

采集到的内容有很多是我们不需要的,在标题栏上右键“删除字段”删除不需要的数据

不需要的数据有“标题链接、头像、a-color-tertiary、a-link-normal、a-color-seconddary1”

网站需要的字段有 标题,a-icon-alt, a-color-seconddary,a-section,review-text

5.补充缺少的字段 ,在采集结果里面我们找不到用户上传的图片,点击“添加字段”,把页面滚动到有图片的review上,将鼠标移动到评论图片上点一下即可识别这个字段(注意:图片字段采集器无法拿到大图拿到的是缩略图,所以不是很推荐加这个字段,大图可以手动点开下载,或者不要图也行

6.产品的sku或id字段 ,这个字段amazon上是没有的,要导入到magento我们必须根据sku或产品ID来,所以要手动添加一个,

点击“添加字段”并将这个字段拖到最前面,在字段标题上右键“数据处理”

在步骤详情里面填这个产品的sku

结果如下:

7.提取评分,我们只需要提取客户打的分数,当前的“5.0 out of 5 stars”显然不合要求,在a-icon-alt上右键选择“数据处理”

在弹出框内点“新建”选“正则提取”并在“步骤详情”内填入正则表达式如图,点确定即可

8.字段排序,我是按照:评论标题-评论内容-评分-用户名-时间-图片 的顺序排列因为一会还要用程序读取,鼠标按左键住要排序的标题栏左右拖动

9.过滤掉不合格的评论,我们不希望把评分太低的评论或带视频的评论抓取,点击“数据筛选”

10.开始采集数据,等待任务完成,点“导出数据”按钮,保存地址选你熟悉的文件夹点“导出”;

11.编写解析程序(我的字段可能跟你不一样不要无脑照搬)

<?php
/**
*Author: YafullyZhao
*Date: 20190812
*Discription: Write Amazon Review csv Data to mysql
*Email: yafully@gmail.com
*/
require_once 'app/Mage.php';
Mage::app();$_read = Mage::getSingleton('core/resource')->getConnection('core_read');
$_write = Mage::getSingleton('core/resource')->getConnection('core_write');$customerId = '1';//用户ID
// Remove existing ratings 清除老数据
$clearOldData = false;
if($clearOldData){$_write->query("SET FOREIGN_KEY_CHECKS = 0;");$_write->query("TRUNCATE TABLE rating_option_vote;");$_write->query("TRUNCATE TABLE review_detail;");$_write->query("TRUNCATE TABLE review_entity_summary;");$_write->query("TRUNCATE TABLE review_store;");$_write->query("TRUNCATE TABLE review;");$_write->query("TRUNCATE TABLE rating_option_vote_aggregated;");$_write->query("SET FOREIGN_KEY_CHECKS = 1;");
}//echo '<p>Bulk Add Reviews</p>';
$cvsDatas = Mage::helper('Function')->getCsvData(Mage::getBaseDir('media').'/data/reviews-data.csv');$i = 0;
$total = count($cvsDatas);
//echo '<p>Total'.$total.'</p>';
//while( $csv_line = fgetcsv($file_handle) ){
//0 SKU,1 Title,2 Detail,3 Vote,4 Nick Name,5 Creat Date,6 Pics,7 Videos
foreach ($cvsDatas as $csv_line) {if( !is_array($csv_line) ) {break;}$sku = trim($csv_line[0]);//产品SKU$review_name = ucwords( strtolower( trim( $csv_line[1] ) ) );$details = trim( $csv_line[2] );$rating_value = (int)$csv_line[3];if( empty( $rating_value ) ){continue;}// Create a single name$nickname = ucwords( strtolower( trim( $csv_line[4] ) ) );//$email = strtolower( trim( $csv_line[7] ) );if( !$created = strtotime( trim($csv_line[5]) ) ){$created = time();  }else{$created = strtotime(trim($csv_line[5]));}$piclist = empty($csv_line[6]) ? null : $csv_line[6];$videolist = empty($csv_line[7]) ? null : $csv_line[7];$approval_status = 1;$_product = Mage::getModel('catalog/product')->loadByAttribute('sku',$sku);if(!$_product) {print '<p>Unmatched SKU: ' . $sku . '</p>';continue;}// Add the review$_review = Mage::getModel('review/review')->setEntityPkValue($_product->getId())->setStatusId($approval_status)->setTitle($review_name)->setDetail($details)->setPiclist($piclist)->setVideolist($videolist)->setEntityId(1)->setStoreId(1)//店铺->setStores(array(1,0))->setCustomerId($customerId)->setNickname($nickname)->save();//echo '<p>save!</p>';  // Set the created date$_write->query("UPDATE review SET created_at = '" . date('Y-m-d H:m:s', $created) .  "' WHERE review_id = " . $_review->getId());$_review->aggregate();// Map your rating_id to your option_id with an array or something$rating_options = array(3 => array(11,12,13,14,15),);// Now save the ratingsforeach($rating_options as $rating_id => $option_ids){try {$_rating = Mage::getModel('rating/rating')->setRatingId($rating_id)->setReviewId($_review->getId())->setCustomerId($customerId)->addOptionVote( $option_ids[$rating_value-1],$_product->getId() );} catch (Exception $e) {print_r($e);die($e->getMessage());}}//if($i+1>$total) echo '<p>Done!</p>';$i++;print '<p>Write: ' . $i . '</p>';
}

运行结果:

Magento 批量刷入 Amazon上的产品评论相关推荐

  1. oracle存储过程--存量数据批量刷入

    上周有新需求把face++识别的身份证信息存到会员中.存量数据还有1300万数据,也就是要刷1300万的数据. 想过跑批查询封装多线程调用dubbo接口,怕dubbo服务提供者扛不住. 考虑走脚本刷, ...

  2. 从谷歌官网下载android 6.0源码、编译并刷入nexus 6p手机

    版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/fuchaosz/article/details/52473660 1 前言 经过一周的奋战,终于从谷 ...

  3. android源码编译并刷入nexus 6p手机

    来自"梧桐那时雨"的博客:https://blog.csdn.net/fuchaosz/article/details/52473660 1 前言 经过一周的奋战,终于从谷歌官网上 ...

  4. [Android编译(二)] 从谷歌官网下载android 6.0源码、编译并刷入nexus 6p手机

    1 前言 经过一周的奋战,终于从谷歌官网上下载最新的Android 6.0.1_r62源码,编译成功,并成功的刷入nexus6p,接着root完毕,现写下这篇博客记录一下实践过程. 2 简介 自己下载 ...

  5. Google Pixel 解锁BL、刷入Twrp、magisk Root、安装 Xposed

    Google Pixel 解锁 BL.刷入Twrp及Root :http://www.itfanr.cc/2018/10/16/google-pixel-unlock-bl-and-root/ Pix ...

  6. 华为手机怎么刷android系统,怎样刷入安卓原生系统 在手机系统更新这件事上,小米华为和OPPOvivo谁更有良心...

    原标题:在手机系统更新这件事上,小米华为和OPPOvivo谁更有良心? 用国产手机的朋友可能都有一种感受,对于系统升级这块,有的厂商很积极,但有的厂商却非常的不积极.比如小米,华为,一加等在系统升级方 ...

  7. 小米4可以刷入linux,给小米4刷上SailfishOS是怎样的体验?附刷机教程

    犹记当年,小编有了第一台属于自己的智能手机,诺基亚N97,那是我和诺基亚的第一次真正相遇.自此以后,诺基亚这个名字可谓无时无刻不牵动着我的心.2011年,诺基亚发布了N9,随机预装的Meego系统操作 ...

  8. coupang批量上传产品遇到的问题

    在古邦上面使用excel表格上传产品,我有遇到几个问题,在这里做一下记录,以免后面的朋友上传的时候避免走弯路 1.上传之前必须先设置发货地址和退货地址,退货地址必须设置为韩国本地的才可以 2.上传之前 ...

  9. 如何在2020年任意设备上刷入Nethunter

    先老样子,表达一下自己想说的 第一,Nethunter最近一次更新位于2020.01,至于有没有弃坑这个我不知道 第二,安卓渗透平台已经很常见了,如果nethunter弃坑的话,去了解下Andrax ...

最新文章

  1. php 怎么写个定时自理器,教你编写更加稳定、可读性强的JavaScript代码的示例
  2. JAVA 连接MYSQL数据库操作
  3. 《从问题到程序:用Python学编程和计算》——2.4 字符串
  4. ASP.net中实现双表格同步缩放不变形
  5. 服务器支持http tcp,Nginx配置http和tcp(示例代码)
  6. 第七讲 数组动手动脑和课后作业
  7. 【数据挖掘学习笔记】数据挖掘中主要问题有哪些?
  8. HBase二级索引的设计
  9. aix 到 linux的网络,通过VIOS实现AIX系统的网络虚拟化
  10. VM虚拟机安装无法打开注册表项及虚拟网卡消失导致网络出错等问题
  11. 数据分析小项目01 __《少年的你》豆瓣短评__V1.0
  12. python发邮件附件_python 发送带附件的邮件
  13. HDFS HA支持多Standby节点机制
  14. securecrt 不掉线_如何不掉线
  15. 如何设计一个权限管理模块?
  16. CorelDRAW版本限制使用关闭永久禁止联网登录弹窗口错误修复教程
  17. 新浪财经沪深300指数期权和商品期权行情接口
  18. Xshell 7下载、安装步骤与使用教程
  19. 翻译考试用计算机作答,上半年CATTI考试方式还是纸笔,下半年就实行全面机考?真是几家欢喜几家愁!...
  20. PHP图片表情制作生成源码

热门文章

  1. Transformer家族5 -- 推理加速(Faster-Transformer、TurboTransformers)
  2. 大数据基础课第三课 spark_core、Spark_sqlSpark_streaming
  3. ubuntu20.04下好用的截图软件
  4. 北斗卫星同步时钟在分布式系统时钟同步的重要性
  5. 如何写MySQL存储引擎
  6. 当GCN遇见NLP(三) Tensor Graph Convolutional Networks for Text Classification,AAAI2020
  7. 深化“智能二道门”建设,化工厂人员定位系统深度解析!
  8. 蓝牙智能营养电子秤解决方案
  9. [nrf51] BLE DFU:Dual Bank 备份升级 OTA
  10. 汽车动力学与控制-轮胎侧偏与车辆动力学方程