如何用golang搜索java抓取淘宝商品信息

标签:至少1个,最多5个
系列教程:
都已经三节课了,大家活动活动手脚,咱们开始一场真正的硬仗, 我们要来爬电商老大,淘宝的数据了。
老规矩,爬之前首先感谢淘宝公布出这么多有价值的数据,才让我们这些爬虫们有东西可以搜集啊,不过淘宝就不用我来安利了
广大剁手党相信睡觉的时候都能把网址打出来吧。
工欲善其事,必先利其器,先上工具:
1、神箭手云爬虫,2、Chrome浏览器 3、Chrome的插件XpathHelper 不知道是干嘛的同学请移步第一课好了,咱们还是先打开淘宝网:
清新的画面,琳琅满目的商品,隐约感到的是前方是一场恶战:
淘宝这么多的商品,这么多的主题,到底从哪里开始呢?要不就女装了,别问我为什么,咱们先打开一个女装的列表页面:
/list?q=%E5%A5%97%E8%A3%85%E5%A5%B3%E5%A4%8F
我们点击一下下一页看看连接:
/list?q=%E5%A5%97%E8%A3%85%E5%A5%B3%E5%A4%8F&bcoffset=-4&s=60
看着好像不难,很简单,不过值得注意的是,我们把鼠标移到下一页可以看到连接本身并不是这个,这个是js处理的,这种情况类似前面我们遇到的尚妆网下一页,我们一会再说。
我们再看下详情页
/item.htm?spm=a217f..hEmtfc&id=&scm=1029.minilist-17.1.16&ppath=&sku=&ug=#detail
/item.htm?spm=a217f..hEmtfc&id=&scm=1029.minilist-17.1.16&ppath=&sku=&ug=#detail
看着比较简单,就直接提取成:
https://item\\.taobao\\.com/item\\.htm\\?.*
我比较懒,这个就先这样吧,然后我们来看看详情页我们需要抽取哪些信息,商品名称,价格自然不能少,这次再来一个新鲜的,就是缩略图列表,因为淘宝的商品不只有一个缩略图,因此需要爬取一个缩略图数组。
同样,用chrome开发者工具和xpathhelper对抽取项进行分析,看了一下结果,尝试过滤xhr,结果:
高手就是高手,在大量的请求中,找到响应的请求,相当的困难。不要紧,还记得我们上节课提到的核武器吗-JS渲染引擎,只要我们把JS渲染引擎打开,那么我们完全不用操心大量ajax请求的判断,当然他的问题是效率低一些,不过没关系,反正在云上跑嘛,睡一觉就好了。
在神箭手里调用JS渲染引擎的方式很简单,只需要一行代码设置既可:
configs.enableJS=true
好了,那我们现在可以无视ajax请求了,直接用chrome工具打开,直接提取:
//em[@id="J_PromoPriceNum"]
简单暴啦,然后高兴没有1秒钟,瞬间蒙逼,淘宝上的价格不仅有这种促销价格,还有价格区间,还有的是普通的价格,我的天的,这不是要人命吗~没办法,再难也要硬着头皮上,目前来看,一共有两种价格的抽取方式,当然不排除有其他多种的情况,我们先对这两种分别写一下抽取规则:
//em[@id="J_PromoPriceNum"]
//em[contains(@class,"tb-rmb-num")]
我们可以通过 | 这个来连接,表达不同页面的选取可以共存
//em[@id="J_PromoPriceNum"] | //em[contains(@class,"tb-rmb-num")]
不容易。我们再看看商品名称,这个相对简单:
//h3[contains(@class,'tb-main-title')]/@data-title
最后,我们需要抽取图片的地址:
//ul[@id="J_UlThumb"]/li//img/@src
由于这一项存在多项,因此需要将该抽取规则的repeated字段设置成true
var configs = {
domains: ["",""],
scanUrls: ["/go/market/nvzhuang/citiao/taozhuangqun.php"],
contentUrlRegexes: ["https://item\\.taobao\\.com/item\\.htm\\?.*"],
helperUrlRegexes: ["https://www\\.taobao\\.com/go/market/nvzhuang/citiao/taozhuangqun.php"],//可留空
enableJS:true,
// 第一个抽取项
name: "title",
selector: "//h3[contains(@class,'tb-main-title')]/@data-title",//默认使用XPath
required: true //是否不能为空
// 第二个抽取项
name: "price",
selector: "//em[@id='J_PromoPriceNum'] | //em[contains(@class,'tb-rmb-num')]",//默认使用XPath
// 第三个抽取项
name: "thumbs",
selector: "//ul[@id='J_UlThumb']/li//img/@src",//默认使用XPath
var crawler = new Crawler(configs);
crawler.start();
好了,虽然淘宝比尚妆网难的多,但是在我们拿出核武器之后,一切迎刃而解,回头我们在来处理下一页的问题,这里虽然和尚妆网不一样,但是整体的原理大同小异,就不一一解释,我们直接上代码:
var configs = {
domains: ["",""],
scanUrls: ["/list?q=%E5%A5%97%E8%A3%85%E5%A5%B3%E5%A4%8F"],
contentUrlRegexes: ["https?://item\\.taobao\\.com/item\\.htm\\?.*"],
helperUrlRegexes: ["https?://s\\.taobao\\.com/list\\?q=%E5%A5%97%E8%A3%85%E5%A5%B3%E5%A4%8F.*"],//可留空
enableJS:true,
// 第一个抽取项
name: "title",
selector: "//h3[contains(@class,'tb-main-title')]/@data-title",//默认使用XPath
required: true //是否不能为空
// 第二个抽取项
name: "price",
selector: "//em[@id='J_PromoPriceNum'] | //em[contains(@class,'tb-rmb-num')]",//默认使用XPath
required: true //是否不能为空
// 第三个抽取项
name: "thumbs",
selector: "//ul[@id='J_UlThumb']/li//img/@src",//默认使用XPath
repeated:true
configs.onProcessHelperUrl = function(url, content, site){
if(!content.indexOf("未找到与")){
var currentStart = parseInt(url.substring(url.indexOf("&s=") + 3));
var start = currentStart + 60;
var nextUrl = url.replace("&s=" + currentStart, "&s=" + start);
site.addUrl(nextUrl);
var crawler = new Crawler(configs);
crawler.start();
OK 大功告成,测试结果如下,由于开启的js渲染,所以爬取的速度比较慢,只能耐心等待了。
对爬虫感兴趣的童鞋可以加qq群讨论:。
0 收藏&&|&&7
你可能感兴趣的文章
11 收藏,5.6k
2 收藏,379
9 收藏,2.9k
分享到微博?
技术专栏,帮你记录编程中的点滴,提升你对技术的理解收藏感兴趣的文章,丰富自己的知识库
明天提醒我
我要该,理由是:
扫扫下载 App当前位置: &
> 淘宝商品商家网页信息抓取分析软件下载
淘宝商品商家网页信息抓取分析软件v1.1 简体中文版
淘宝商品商家网页信息抓取分析软件是一款可以获取商家信息的工具。支持按商品关键词大批量自动抓取淘宝网页,还能从网页中提取各种商品和相关商家的有用信息,并保存到数据库中供统计与分析,是一款很有商业价值的软件。欢迎下载使用!
【淘宝商品商家网页信息抓取分析软件介绍】:
本版本为试用版1.1;
试用版仅供演示和试用,正版将速度更快和功能更强;
未经作者同意,禁止拷贝或用于商业用途;
如您需要软件或代码或合作,请联系作者,欢迎垂询。&
【淘宝商品商家网页信息抓取分析软件使用方法】:
启动方法&&将DLL和EXE到同一个文件夹,直接运行Exe,打开软件。
(运行环境:Windows,DotNet3.5以上环境)
DLL 包括 Interop.ADODB.dll,ADOMD.dll,ADOX.
淘宝商品商家网页信息抓取分析软件下载
高速下载器通道
其他下载地址
下载不了?
1.34 MB | 简体中文 | 0分
小子,想看什么片啊?找不着了也别着急,本站有易简约资源搜索神器...
1.15 MB | 简体中文 | 0分
寻找P2P,bt,磁力种子搜索工具的的各位好朋友,难道你们都还没有使...
2.35 MB | 简体中文 | 0分
宅男们最爱做的事情就是搜种子了,额,言归正传,其实我想说的是无...
1.3 MB | 简体中文 | 0分
小编每次给你们准备类似大狼狗全能搜这种大福利软件的时候,你们好...
下载排行榜新技能:审查元素 如何用审查元素看淘宝分词?
怎么通过后台代码查看淘宝分词呢,下面就教大家利用审查元素看淘宝分词组合关键词优化标题。
第一步:在自己店铺或者淘宝的搜索框内,按全称搜索自己的某一宝贝,出来的搜索结果列表页。
记住:一定要按照宝贝全称来搜索,这样是为了调用系统搜索程序,让它把你的标题所有词都滤一遍!还有,就在搜索列表页,不要点进去宝贝详情页!
第二步:将鼠标放在标题上,右键单击,在出来的菜单中选择“审查元素”。
点审查元素后,页面下方会出现代码
第三步:有两种方法显示分词结果,简单的就是点这个长框框“a href&前面的这个三角形,分词结果马上就出来了。另一种方法,要是眼神不好半天找不到这个”a href&的,可以用小红框框里面的放大镜,点一下,然后将鼠标放回标题上,这时候鼠标旁边会出现这样的情况,此时再点击鼠标,分词结果就会出现在代码区。与点击“a href&前面的三角形是一样的效果。
这样找出分词的好处就是:通过你宝贝的属性或分类,找出你的宝贝标题关键词组合,利于宝贝排名。最好结合数据工具,比如数据魔方等淘宝内部数据工具,得到最优质的宝贝标题词组合(如下图)。亲可以试下哦,只要学到了,运用了,一定产生不一样的效果哦。分词是关键词的最小单位,所以至关重要。不要让这些小小的细节影响了宝贝的搜索排序哦!当然,你也可以偷看到你对方的标题分词情况,从中择优选用哦。
貌似有的浏览器右键里面没有审查元素,如果是这样,请换个浏览器试试,我自己亲自试验的360浏览器丶谷歌浏览器都没问题,通过别人反应百度浏览器丶淘宝浏览器也都可以的。
给大家简单讲一个例子,如下图
从上图我们可以看到系统是如何给标题分词的,一般来说名词特别是类目词都是优先被划分成分词的。复制宝贝整个标题进行搜索,是为了调用系统搜索引擎,让它把所有的分词都过滤一遍。
有时你会发现这样一个问题,就是本意是:分开的两个字、但系统把它当做一个分词处理了!(举个例子:本意是2015冬,潮;但系统把冬潮划分成一个分词了!!!)
也就是说,不管我们宝贝权重多高,【短筒女鞋&冬、绒面平底鞋&冬】这样的关键词我们几乎都拿不到展现,因为我们标题里没有【冬】这个分词,解决的办法就是把&冬和潮&分开写,在中间插入一个分词,比如&我们截图上面的【秋冬潮】就很好、或者写成:冬季新款潮。
更多电商信息敬请关注皇冠俱乐部!1163人阅读
header(&Content-Type:text/charset=gbk&);
include &Snoopy.class.php&;&
$snoopy = new S&
$snoopy-&fetch(&/search?spm=a230r.1.8.7.2NN4M7&q=%C7%EF%B6%AC%B4%F3%D2%C2&source=tbsy&refpid=6&discount_index=1&newpre=null&p4p_str=fp_midtop%3D0%26firstpage_pushleft%3D0&style=list&s=0#J_Filter&);&
$html=$snoopy-&&
//说明:抓取网页使用的是 Snoopyphp 框架 也可以直接使用file_get_contents函数获取即可,
//var_dump($html);
preg_match_all('/&h3 class=\&summary\&&.*&\/a&/',$html,$result);
//preg_match_all('/&div\sid=\&([a-z0-9_]+)\&&([^&&]+)&\/div&/',$html,$result);
var_dump($result);
echo &&br&&;
//循环读取数组
foreach($result as $key1){
foreach($key1 as $key =& $val){
echo $key.$
&&相关文章推荐
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:87511次
积分:2142
积分:2142
排名:千里之外
原创:128篇
转载:11篇
(2)(3)(1)(2)(1)(5)(2)(1)(1)(1)(2)(5)(3)(1)(27)(9)(10)(6)(5)(2)(7)(6)(1)(2)(36)}

我要回帖

更多关于 淘宝抓取商品软件 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信