尚妆网爬虫源码
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了尚妆网爬虫源码相关的知识,希望对你有一定的参考价值。
使用javascript编写的爬虫源码,用于爬取尚妆网上的商品信息。
代码粘贴到神箭手云爬虫平台(http://www.shenjianshou.cn/)上就可以直接跑了,
不需要安装编译环境。要爬取其他网站,可以更改源码即可。
var configs = { domains: ["www.showjoy.com","list.showjoy.com","item.showjoy.com"], scanUrls: ["http://list.showjoy.com/search/?q=cateIds%3A1,cateName%3A%E9%9D%A2%E8%86%9C"], contentUrlRegexes: ["http://item\\.showjoy\\.com/sku/\\d+\\.html"], helperUrlRegexes: ["http://list\\.showjoy\\.com/search/\\?q=cateIds%3A1,cateName%3A%E9%9D%A2%E8%86%9C(\\&page=\\d+)?"], fields: [ { // 第一个抽取项 name: "title", selector: "//h3[contains(@class,‘choose-hd‘)]", required: true }, { // 第二个抽取项 name: "comment", selector: "//div[contains(@class,‘dtabs-hd‘)]/ul/li[2]", required: false }, { // 第三个抽取项 name: "sales", selector: "//div[contains(@class,‘dtabs-hd‘)]/ul/li[3]", required: false }, { name: "skuid", selector: "//input[@id=‘J_UItemId‘]/@value", }, { name: "price", sourceType: SourceType.AttachedUrl, attachedUrl: "http://item.showjoy.com/product/getPrice?skuId={skuid}", selectorType: SelectorType.JsonPath, selector: "$.data.price", } ] }; configs.onProcessHelperUrl = function(url, content, site){ if(!content.indexOf("无匹配商品")){ //如果没有到最后一页,则将页数加1 var currentPage = parseInt(url.substring(url.indexOf("&page=") + 6)); var page = currentPage + 1; var nextUrl = url.replace("&page=" + currentPage, "&page=" + page); site.addUrl(nextUrl); } return true; } configs.afterExtractField = function(fieldName, data){ if(fieldName == "comment" || fieldName == "sales"){ var regex = /.*((\d+)).*/; return (data.match(regex))[1]; } return data; } var crawler = new Crawler(configs); crawler.start();
以上是关于尚妆网爬虫源码的主要内容,如果未能解决你的问题,请参考以下文章
手把手教你写电商爬虫-第三课 实战尚妆网AJAX请求处理和内容提取
手把手教你写电商爬虫-第五课 京东商品评论爬虫 一起来对付反爬虫
手把手教你写电商爬虫-第五课 京东商品评论爬虫 一起来对付反爬虫