话说现在基本上大家都在网上买东西,国家经济数据已经可以在网络购物的数据中略微窥见一二,再加上目前B2B行业的持续火爆,大有把所有交易搬到网上来的趋势,这个系列教程就来讲讲如果爬取这些大量的电商交易的数据。

工具要求:教程中主要使用到了

1、神箭手云爬虫框架  这个是爬虫的基础,

2、Chrome浏览器和Chrome的插件XpathHelper 这个用来测试Xpath写的是否正确

基础知识:本教程中主要用到了一些基础的js和xpath语法,如果对这两种语言不熟悉,可以提前先学习下,都很简单

教程正式开始,现在电商网站很多,牛逼哄哄的淘宝京东,新晋贵族唯品会聚美优品 海淘的美丽说higo网易惠惠等等,作为新手,上来打boss的结果必定是灰屏回家,所以 我们现在新手村附近找个小弟练练级吧。

找小弟也要有找小弟的办法,我们就去it橘子上看看有没有什么新的电商公司试试,找了一圈,就相中了这个切糕王子,名字霸气,内容简单,非常适合我们这种新手练手,掌握一下基本技能。

那我们就正式开始,首先,我们打开切糕王子的商品列表页

http://www.qiegaowz.com/product/Default.html

只有5款商品,果然是互联网思维,爆品逻辑。顿时让我们有种用大炮大蚊子的赶脚,写个爬虫的时间,不如手动复制了。不过,谁让我们是程序员呢?手动复制这么low的事情说出去都丢不起这个人。

开始前先给大家普及一下爬虫的基本步骤

1.选定入口url,也叫种子url,就是让爬虫从哪个页面开始爬

2.区分哪些是内容页面,也就是我们需要抽取数据的页面,哪些是中间页,就是连接其他页面,没有我们需要的数据的页面

3.对内容页写抽取规则

4.开始爬虫

好了,那我们就开始了

第一步来:这个网站的入口url很简单,就一个页面

http://www.qiegaowz.com/product/Default.html 

就是他了,也没别人

第二步:内容页面就是那5个商品的页面

http://www.qiegaowz.com/product/5ee97997-1700-4d19-b93a-6bd7c930fefe.html

http://www.qiegaowz.com/product/ccdf1d03-58da-48a9-bfd2-d9c403b56c98.html

http://www.qiegaowz.com/product/1f44feec-751a-4656-9e42-ec1cb7d8dee6.html

http://www.qiegaowz.com/product/83106246-d38e-42da-a0a4-2289f699b066.html

http://www.qiegaowz.com/product/a723b3cc-91f0-495f-b7b8-792b4470a6e6.html

神箭手框架里是将内容页用正则表达式来限制的,那没这几个页面统一一个正则的话就是

http://www\\.qiegaowz\\.com/product/[0-9a-z]{8}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{12}\\.html

添加了两个\是因为这句话将被写到字符串中,所以需要对\再进行一次转义,不理解的话也没关系,记得这么做就可以了

什么?有人觉得这个太难了,那我们可以再简单一点

http://www\\.qiegaowz\\.com/product/.{36}\\.html

特别提醒,在正则表达式中,"."和"?"这个字符是需要转义的,这些千万不能写错了。

中间页的话,就是http://www.qiegaowz.com/product/Default.html,转换成正则的格式http://www\\.qiegaowz\\.com/product/Default\\.html

第三步:我们打开其中一个商品的页面

发现整个页面没啥内容,我们就勉强来分成三个部分吧,分别是 缩略图,商品名称,内容

先看缩略图:我们用chrome打开,并打开开发者工具:

根据html的层级结构,主要找class和ID的节点,我们可以看到我们这个图片的自己的标签是img标签,没有什么特别的属性,那没看他的父标签,

是<div class="showpic"> 我们来查一下发现这个showpic再整个页面里面出现了1次,那么用这个showpic的class就可以直接定位到这个图片,xpath的写法就是:

//div[contains(@class,'showpic')]/img/@src

简单解释下xpath,开始的两个//代表着从根目录开始不确定过了多少级,如果是单/则代表是一级层级关系,class属性的选择我们通常使用contains是为了防止一个标签有多个class,最后因为我们要获取的是图片的地址,所以最终我们要选取到src属性,好了 我们写完之后 用xpathhelper检测一下对不对

没问题,另外两个抽取项在这里就不详细解释了,方式大同小异,直接放结果:

//div[contains(@class,'showpic')]/img/@src//div[contains(@class,'showproduct')]/h1//div[contains(@class,'shownewdes')]

OK,那么到这里,我们爬虫的准备工作已经做完了,根据神箭手框架的文档,我们将我们的准备好的代码组装一下如下,

到这里就大功告成了,我们将代码复制神箭手后台代码中,保存并测试下,顺利爬到数据。

不过还有一些遗留问题,如商品内容中有一些我们不需要的内容,如何去掉,这个我们可以在后面的教程中详细解释。

手把手教你写电商爬虫-第一课 找个软柿子捏捏相关推荐

  1. 手把手教你写电商爬虫-第二课 实战尚妆网分页商品采集爬虫

    系列教程 手把手教你写电商爬虫-第一课 找个软柿子捏捏 如果没有看过第一课的朋友,请先移步第一课,第一课讲了一些基础性的东西,通过软柿子"切糕王子"这个电商网站好好的练了一次手,相 ...

  2. 手把手教你写电商爬虫-第二课 实战尚妆网分页商品采集爬虫 1

    系列教程 手把手教你写电商爬虫-第一课 找个软柿子捏捏 如果没有看过第一课的朋友,请先移步第一课,第一课讲了一些基础性的东西,通过软柿子"切糕王子"这个电商网站好好的练了一次手,相 ...

  3. 网易教程python_手把手教你写Python网络爬虫(1):网易云音乐歌单

    摘要:从零开始写爬虫,初学者的速成指南! 需要免费获取本文章讲解的视频+源码,关注+转发此文然后私信我回复"音乐"即可领取资料,也欢迎大家和我一起交流学习Python,共同成长 封 ...

  4. 手把手教你写Python网络爬虫:网易云音乐歌单

    介绍 什么是爬虫? 先看看百度百科的定义: 网络爬虫 简单的说网络爬虫(Web crawler)也叫做网络铲(Web scraper).网络蜘蛛(Web spider),其行为一般是先"爬& ...

  5. 一篇文章带你认识c语言并手把手教你写出你的第一个程序

    写在前面的自我介绍:某211大学计算机科学与技术专业大一新生,目前在洛谷,牛客,leetcode等网站进行刷题,通过自学熟悉c/c++的语法,目前正在自学算法(努力学习ing),以下文章是本人作为一个 ...

  6. node.js -- 手把手教你搭建 电商平台

    一.项目开始前,开发环境:jquery,node.js,webpack打包.我们养成先在github上新建项目,再拉代码:git常见命令: 1,git clone <>        克隆 ...

  7. 记录一下手把手教您做电商网站

    http://www.imooc.com/learn/100 转载于:https://www.cnblogs.com/TF12138/p/4091373.html

  8. 手把手教你读财报---银行业---第一课

    量化宽松(QE)-----央行不改变准备金率,直接投放货币,一般被称为量化宽松,英文QE 货币总量有三个层次的概念: M0:指流通中的现金,也就是整个银行体系之外的企业和个人拥有的现金总量: M1:指 ...

  9. 实战案例,手把手教你构建电商用户画像 | 附代码

    导读:本文以真实案例,手把手教你搭建电商系统的用户画像. 先来看该电商用户画像用到的标签. 数据内容包括user_id(用户身份).item_id(商品).IDbehavior_type(用户行为类型 ...

  10. [原创]手把手教你写网络爬虫(2):迷你爬虫架构

    手把手教你写网络爬虫(2) 作者:拓海 (https://github.com/tuohai666) 摘要:从零开始写爬虫,初学者的速成指南! 封面: 介绍 大家好!回顾上一期,我们在介绍了爬虫的基本 ...

最新文章

  1. 解决:org.xml.sax.SAXParseException: 元素类型 “head“ 必须由匹配的结束标记 “</head>问题
  2. 让 ScrollViewer 的滚动带上动画
  3. 6 QM配置-质量计划配置-定义检验特性的编号范围
  4. ZooKeeper -- API文档
  5. tnsnames.ora 监听配置文件详解
  6. Oracle技巧集锦
  7. not null primary key什么意思_为什么我使用了索引,查询还是慢?
  8. python基础教程pdf-Python基础教程(第3版) PDF高清完整版免费下载|百度云盘
  9. 带你领略Object.assign()方法的风骚操作
  10. Koa2 洋葱模型 —— compose 串联中间件的四种实现
  11. 捷联惯导系统模型及仿真(三)
  12. win7从光盘进入修复计算机,win7光盘修复系统步骤
  13. visio如何找到画线工具
  14. 记事本html写代码运行挠脚心,tk挠脚心
  15. 计算机毕业设计(附源码)python智慧医疗系统
  16. iSCSI Enterprise Target配置
  17. 互联网农民工没必要有优越感
  18. Cannot convert value of type 'org.apache.ibatis.session.defaults.DefaultSqlSessionFactory' to requir
  19. CAFFE windows 配置 测试
  20. python socket recv非阻塞_socket非阻塞recv大坑

热门文章

  1. 软件测试工程师常见的面试题大全
  2. Java打印斐波那契数列
  3. VCF vs Maf | 变异注释及整理为Maf格式
  4. 质量名人简介——朱兰(Joseph H.Juran)(转载)
  5. ISO 标准是什么 RFID标准协议中 ISO18000-6B
  6. HTML5是不是解决跨平台问题的终极密钥
  7. linux能运行关关采集器吗,杰奇linux采集器,基本能用且速度还行
  8. 跨越鸿沟——工业大数据的实践与思考
  9. 推荐一款免费开源的javascript电子表格:x-sheet
  10. [笔记][原创]74HC595芯片使用方法介绍