苏宁百万级商品爬取 简述
代码下载链接 苏宁百万级商品爬虫
目录
- 思路讲解 类别爬取
- 思路讲解 类别页数爬取
- 商品爬取
3.1 思路讲解 商品爬取1
3.2 思路讲解 商品爬取2
3.3 代码讲解 商品爬取 - 索引讲解
4.1 代码讲解 索引建立
4.2 代码讲解 索引查询
声明
本系列文章+代码案例时对爬虫的内容学习概括,希望更多的人知道如何使用c#进行简单爬虫项目的开发,并不存在恶意工具部分电商网站的观念。分享的的代码中对网页爬取都做了休眠等待(200-500)毫秒的限制,希望大家不要恶意使用。
学习回顾
首先简单概述一下自己的学习计划,在爬虫这个模块的学习过程中。可以了解到很多的知识,例如
- Xpath语法(网页解析),css(网页解析),正则表达式(文本处理或网页解析)
- .net 第三方爬虫类库 html agility pack +第三方爬虫框架(用的相对较少) 学习的时候还是趋向于写一些底层的东西
- 异步多线程,主要用在苏宁百万数据爬取时。多线程爬取,多线程存储。
- Lucene索引和分词 简单使用,并未深入。主要时对爬取的百万数据建立索引库,做一个简单的查询。
运行环境+技术选型
- ide 使用 vs 2017
- 数据库 sqlserver 2008r2 或mysql
- 语言 c#
一、开发预估周期和安排
1、开发周期
因为工作时无聊想到的东西,所以在不耽误工作的情况下,编码周期为1个礼拜。
2、程序模块抽象描述
数据库相关
- 实体
- 数据库访问层
- 业务逻辑层
网页爬取
- 分析器(包含取数据功能)
- 服务层(取分析器数据,调用业务逻辑层方法,将数据入库)
索引
- 分词帮助(盘古分词器)
- 索引帮助
界面描述
采用winform程序的形式,分首页+4个子页面
首页是对主要功能的概述,添加4个按钮,每个按钮触发新的页面,按钮分别为:
- 数据初始化(进行数据初始化功能)
- 商品类别(对商品类别的爬取和更新)
- 商品内容(对商品内容的爬取和更新)
- 建立索引(使用Lucene+分词器建立索引)
- 查询产品
三、开发中可能遇到的问题
- 因为之前都是对单页面的爬取,或者是对某些分页数据爬取,都只是一个小demo。所以在设计程序结构的过程中一定会存在问题。当我已经完成项目后,重新回顾自己的代码也觉得好多地方存在可以修改的地方。
- 对很多技术的生疏,异步多线程在工作中不长使用,没有踩过坑,所以一定会跌的很惨。xpath,正则这些语法的遗忘
- 界面设计可能会很丑,不美观
四、功能设计图
在新建解决方案后,我首先建立一个demo项目,这个项目只是用来做效果图,用来让自己对所做的程序有个大概的布局。
首页设计图:
首页是对功能的详细抽象描述,所以定义三个模块,每个模块再放置自己的内容。
“初始化数据”只是一个按钮,点击弹出提示框,点击确认清理所有产品数据
五、程序准备:
对商品进行爬取,首先要知道有多少类别,不同类别数据性展示是否为不同形式。如果为不同形式,那就要区分爬取,如果相同,那就更加方便。
产品有那么多属性,取哪些字段,百万的数据量应该如何存储,同样的百万数量应该如果查询,这都是在前期应该考虑好的问题。不然等开始编码再修改就很麻烦
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
7月9日云栖精选夜读丨阿里首家「FashionAI 概念店」入驻香港,里面还是淘宝的配方店
近日,阿里全球首家 AI 服饰店「FashionAI 概念店」正式入驻香港,用 AI 跨界时尚圈,拓展淘宝生态。FashionAI 将基于淘宝上 50万+ 潮人的搭配方案,结合消费者的搭配需求,从服饰的风格、颜色、细节等维度来为消费者进行穿搭推荐。 热点热议 阿里首家「FashionAI 概念店」入驻香港,里面还是淘宝的配方店 作者:技术小能手 你们看尽世界杯的快乐忧伤,他们负责稳定流畅 作者:樰篱 大数据告诉你:学历真的能改变命运 作者:技术小能手 知识整理 咱们一起聊聊Java异常 作者:技术小能手 微博python爬虫,每日百万级数据 作者:技术小能手 游戏AI设计经验分享——行为树研究 作者:技术小能手 Promise之你看得懂的Promise 作者:a独家记忆 精研3道简单的网易2018校招编程题 作者:snailclimb 美文回顾 聊聊阿里社招面试,谈谈“野生”Java程序员学习的道路 作者:中间件小哥 【漫画】关于容器,你是否踩过很多坑,要吐好多苦水? 作者:云栖机器人 webpack 快速构建 React 学习环境(1) 作者:a独家记忆 Vue CLI 3 配置中 ...
- 下一篇
Java体系化高级学习路线图,拿走不谢!
Web应用,最常见的研发语言是Java和PHP。后端服务,最常见的研发语言是Java和C/C++。大数据,最常见的研发语言是Java和Python。 可以说,Java是现阶段中国互联网公司中,覆盖度最广的研发语言,掌握了Java技术体系,不管在成熟的大公司,快速发展的公司,还是创业阶段的公司,都能有立足之地。 有不少朋友问,除了掌握Java语法,还要系统学习哪些Java相关的技术,今天分享一个,互联网Java技术学习路线图。 一:常见模式与工具 学习Java技术体系,设计模式,流行的框架与组件是必不可少的:常见的设计模式,编码必备Spring5,做应用必不可少的最新框架MyBatis,玩数据库必不可少的组件 二:工程化与工具 工欲善其事必先利其器,不管是小白,还是资深开发,玩Java技术体系,选择好的工具,提升开发效率和团队协作效率,是必不可少的:Maven,项目管理Jenkins,持续集成Sonar,代码质量管理Git,版本管理 三:分布式架构 高并发,高可用,海量数据,没有分布式的架构知识肯定是玩不转的:分布式架构原理分布式架构策略分布式中间件分布式架构实战 四:微服务架构 业务越...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
-
Docker使用Oracle官方镜像安装(12C,18C,19C)
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS8编译安装MySQL8.0.19
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS7,8上快速安装Gitea,搭建Git服务器
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
推荐阅读
最新文章
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- CentOS7,CentOS8安装Elasticsearch6.8.6
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程
- CentOS6,CentOS7官方镜像安装Oracle11G
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- 设置Eclipse缩进为4个空格,增强代码规范
- Mario游戏-低调大师作品
- MySQL8.0.19开启GTID主从同步CentOS8
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16