苏宁百万级商品爬取 简述

简介: 代码下载链接 苏宁百万级商品爬虫目录思路讲解 类别爬取思路讲解 类别页数爬取商品爬取3.1 思路讲解 商品爬取13.2 思路讲解 商品爬取23.3 代码讲解 商品爬取索引讲解4.1 代码讲解 索引建立4.2 代码讲解 索引查询声明本系列文章+代码案例时对爬虫的内容学习概括,希望更多的人知道如何使用c#进行简单爬虫项目的开发,并不存在恶意工具部分电商网站的观念。

代码下载链接 苏宁百万级商品爬虫

目录

  1. 思路讲解 类别爬取
  2. 思路讲解 类别页数爬取
  3. 商品爬取
    3.1 思路讲解 商品爬取1
    3.2 思路讲解 商品爬取2
    3.3 代码讲解 商品爬取
  4. 索引讲解
    4.1 代码讲解 索引建立
    4.2 代码讲解 索引查询

声明

本系列文章+代码案例时对爬虫的内容学习概括,希望更多的人知道如何使用c#进行简单爬虫项目的开发,并不存在恶意工具部分电商网站的观念。分享的的代码中对网页爬取都做了休眠等待(200-500)毫秒的限制,希望大家不要恶意使用。

学习回顾

首先简单概述一下自己的学习计划,在爬虫这个模块的学习过程中。可以了解到很多的知识,例如

  1. Xpath语法(网页解析),css(网页解析),正则表达式(文本处理或网页解析)
  2. .net 第三方爬虫类库 html agility pack +第三方爬虫框架(用的相对较少) 学习的时候还是趋向于写一些底层的东西
  3. 异步多线程,主要用在苏宁百万数据爬取时。多线程爬取,多线程存储。
  4. Lucene索引和分词 简单使用,并未深入。主要时对爬取的百万数据建立索引库,做一个简单的查询。

运行环境+技术选型

  • ide 使用 vs 2017
  • 数据库 sqlserver 2008r2 或mysql
  • 语言 c#

一、开发预估周期和安排

1、开发周期

因为工作时无聊想到的东西,所以在不耽误工作的情况下,编码周期为1个礼拜。

2、程序模块抽象描述

数据库相关
  • 实体
  • 数据库访问层
  • 业务逻辑层
网页爬取
  • 分析器(包含取数据功能)
  • 服务层(取分析器数据,调用业务逻辑层方法,将数据入库)
索引
  • 分词帮助(盘古分词器)
  • 索引帮助
界面描述

采用winform程序的形式,分首页+4个子页面
首页是对主要功能的概述,添加4个按钮,每个按钮触发新的页面,按钮分别为:

  • 数据初始化(进行数据初始化功能)
  • 商品类别(对商品类别的爬取和更新)
  • 商品内容(对商品内容的爬取和更新)
  • 建立索引(使用Lucene+分词器建立索引)
  • 查询产品

三、开发中可能遇到的问题

  1. 因为之前都是对单页面的爬取,或者是对某些分页数据爬取,都只是一个小demo。所以在设计程序结构的过程中一定会存在问题。当我已经完成项目后,重新回顾自己的代码也觉得好多地方存在可以修改的地方。
  2. 对很多技术的生疏,异步多线程在工作中不长使用,没有踩过坑,所以一定会跌的很惨。xpath,正则这些语法的遗忘
  3. 界面设计可能会很丑,不美观

四、功能设计图

在新建解决方案后,我首先建立一个demo项目,这个项目只是用来做效果图,用来让自己对所做的程序有个大概的布局。
首页设计图:
首页是对功能的详细抽象描述,所以定义三个模块,每个模块再放置自己的内容。
“初始化数据”只是一个按钮,点击弹出提示框,点击确认清理所有产品数据


img_45134665355e4e3a05a9f334c7639ce4.png
首页.png
img_3924615ffb21a30602dfba78a727fe25.png
商品类别设计图.png
img_bb0539107b00270f492cf875b0728684.png
商品内容设计图.png
img_0428a541720b7f58aa9e0453200096a6.png
建立索引设计图.png
img_687556ed1b208cae02cb86d3ed7a3b62.png
查询产品设计图.png

五、程序准备:

对商品进行爬取,首先要知道有多少类别,不同类别数据性展示是否为不同形式。如果为不同形式,那就要区分爬取,如果相同,那就更加方便。
产品有那么多属性,取哪些字段,百万的数据量应该如何存储,同样的百万数量应该如果查询,这都是在前期应该考虑好的问题。不然等开始编码再修改就很麻烦

目录
相关文章
|
JSON API 数据格式
快手API接口:根据关键词获取海量商品列表的秘诀
快手API接口:根据关键词获取海量商品列表的秘诀
163 1
|
编解码 搜索推荐 测试技术
读书笔记第四讲:《百万级并发商品服务架构解密》丁鸣亮
读书笔记第四讲:《百万级并发商品服务架构解密》丁鸣亮
《QQ 空间百亿级流量的社交广告系统海量实践》电子版地址
QQ 空间百亿级流量的社交广告系统海量实践
66 0
《QQ 空间百亿级流量的社交广告系统海量实践》电子版地址
《QQ空间平台百亿级流量广告系统海量服务实践》电子版地址
QQ空间平台百亿级流量广告系统海量服务实践
78 0
《QQ空间平台百亿级流量广告系统海量服务实践》电子版地址
|
数据采集 Python
Python爬虫系列14-采集JD商城百万商品数据详情
有时候不能什么都听别人的,更不能因为别人的意见而打乱了自己原有的计划。学习亦是如此。 自己要学会为自己负责,不要听别人说什么就是什么。如果真是那样,那么你自己的人生会过得非常的不好,会一团糟。别人的只是建议,最终还是由自己决定。
Python爬虫系列14-采集JD商城百万商品数据详情
|
SQL 运维 数据可视化
【技术干货】40页PPT分享万亿级交易量下的支付平台设计(4)
【技术干货】40页PPT分享万亿级交易量下的支付平台设计(4)
192 0
【技术干货】40页PPT分享万亿级交易量下的支付平台设计(4)
|
数据可视化 安全 容灾
【技术干货】40页PPT分享万亿级交易量下的支付平台设计(1)
【技术干货】40页PPT分享万亿级交易量下的支付平台设计(1)
193 0
【技术干货】40页PPT分享万亿级交易量下的支付平台设计(1)
|
运维 监控 数据可视化
【技术干货】40页PPT分享万亿级交易量下的支付平台设计(5)
【技术干货】40页PPT分享万亿级交易量下的支付平台设计(5)
246 0
【技术干货】40页PPT分享万亿级交易量下的支付平台设计(5)
|
SQL 缓存 监控
【技术干货】40页PPT分享万亿级交易量下的支付平台设计(6)
【技术干货】40页PPT分享万亿级交易量下的支付平台设计(6)
413 0
【技术干货】40页PPT分享万亿级交易量下的支付平台设计(6)
|
设计模式 数据可视化 测试技术
【技术干货】40页PPT分享万亿级交易量下的支付平台设计(3)
【技术干货】40页PPT分享万亿级交易量下的支付平台设计(3)
194 0
【技术干货】40页PPT分享万亿级交易量下的支付平台设计(3)
下一篇
DataWorks