使用scrapy爬取网站的商品数据
目标是爬取网站http://www.muyingzhijia.com/上全部的商品数据信息,包括商品的一级类别,二级类别,商品title,品牌,价格。
搜索了一下,python的scrapy是一个不错的爬虫框架,于是基于scrapy写了一个简易的爬虫。
先分析商品页面,在http://www.muyingzhijia.com/主页面上,有类链接有用的链接,即:http://www.muyingzhijia.com/Shopping/category.aspx?cateID=11和http://www.muyingzhijia.com/Shopping/subcategory.aspx?cateID=185&small=1,前者为一级类别,后者为二级类别,这两级类别含有部分商品信息,但是没有包含文章开头所需的五类商品信息。而与http://www.muyingzhijia.com/shopping/productdetail.aspx?pdtID=33158&fromPromType=tttj类似的链接中,上述五种信息,均包含。所以计划以http://www.muyingzhijia.com/Shopping/alllist.aspx,http://www.muyingzhijia.com/Shopping/category.aspx?cateID,http://www.muyingzhijia.com/Shopping/subcategory.aspx?cateID三类链接为入口,对http://www.muyingzhijia.com/Shopping/category.aspx?cateID及http://www.muyingzhijia.com/Shopping/subcategory.aspx?cateID类链接进行自动抓取,同时遇到http://www.muyingzhijia.com/shopping/productdetail.aspx?类链接,进行页面解析,解析出所需的五类信息。
爬虫实现了自动爬取,item去重,链接去重,取出的数据存入数据库。
代码详见: https://github.com/darlwen/spider
使用scrapy爬取网站的商品数据的更多相关文章
- Scrapy实战篇(八)之Scrapy对接selenium爬取京东商城商品数据
本篇目标:我们以爬取京东商城商品数据为例,展示Scrapy框架对接selenium爬取京东商城商品数据. 背景: 京东商城页面为js动态加载页面,直接使用request请求,无法得到我们想要的商品数据 ...
- Scrapy爬取到的中文数据乱码问题处理
Scrapy爬取到中文数据默认是 Unicode编码的,于是显示是这样的: "country": ["\u56fd\u4ea7\u6c7d\u8f66\u6807\u5f ...
- 使用Selenium爬取网站表格类数据
本文转载自一下网站:Python爬虫(5):Selenium 爬取东方财富网股票财务报表 https://www.makcyun.top/web_scraping_withpython5.html 需 ...
- scrapy爬取booking酒店评论数据
# scrapy爬取酒店评论数据 -- 代码 here:github地址:https://github.com/760730895/scrapy_Booking-- 采用scrapy爬取酒店评论数据 ...
- Python3爬虫爬取淘宝商品数据
这次的主要的目的是从淘宝的搜索页面获取商品的信息.其实分析页面找到信息很容易,页面信息的存放都是以静态的方式直接嵌套的页面上的,很容易找到.主要困难是将信息从HTML源码中剥离出来,数据和网页源码结合 ...
- Python爬取网站上面的数据很简单,但是如何爬取APP上面的数据呢
- 使用scrapy爬取dota2贴吧数据并进行分析
一直好奇贴吧里的小伙伴们在过去的时间里说的最多的词是什么,那我们就来抓取分析一下贴吧发文的标题内容,并提取分析一下,看看吧友们在说些什么. 首先我们使用scrapy对所有贴吧文章的标题进行抓取 scr ...
- Python3.5:爬取网站上电影数据
首先我们导入几个pyhton3的库: from urllib import requestimport urllibfrom html.parser import HTMLParser 在Python ...
- scrapy爬取伯乐在线文章数据
创建项目 切换到ArticleSpider目录下创建爬虫文件 设置settings.py爬虫协议为False 编写启动爬虫文件main.py
随机推荐
- js 使用json.js处理json对象
使用参考代码: <script src="json/json2.js"></script> <script type="text/javas ...
- thinkphp实现导航高亮的简单方法
经常会涉及到关于导航菜单高亮显示的问题,大多是通过配合js或者事先分配变量的方式来实现导航高亮的,这里提供另一种思路参考: <ul class="usermenu"> ...
- 【现代程序设计】homework-05
本次作业要求设计服务器和客户端,由于之前对网络编程是一窍不通,上上节课听宗学长讲述Tcp的时候心里想这个东西还真是高大上啊一点儿都听不懂,但是上个周末看了看C#网络编程的博客和书之后,发现这个东西入门 ...
- Ubuntu 登录命令和赋值命令
一. Ubuntu 设定root权限 进入 Terminal,输入命令su 如果没有给su赋root权限,则输入 sudo passwd root 赋值输入密码. 截图如下 二.以root身份进入l ...
- android SQLite使用SQLiteOpenHelper类对数据库进行操作
android SQLite使用SQLiteOpenHelper类对数据库进行操作 原文: http://byandby.iteye.com/blog/835580
- su和su - 的区别
Linux中切换用户的命令是su或su -.前天我在使用useradd这个命令时,才体会到这两者的本质区别.如图: 我首先是用su命令切换到root身份的,但是运行useradd时,出现错误:bash ...
- 使用“Empty 模式”改进 Null Object
概述 Null Object 是Martin 大师提出的一种重构手段,其思想就是通过多态(派生一个Null对象)来减少逻辑(if … then …else)的判断. 而.NET中已经有Null Obj ...
- BZOJ4346 : [POI2016]Nadajniki
设$f[x][j]$表示$x$点不放无线,它的儿子里放了$j$个无线,且对$x$的父亲不作要求时的最小代价. $g[x][j]$表示$x$点不放无线,要求$x$的父亲至少放$j$个无线时的最小代价. ...
- objective-c 条件运算符
条件运算符 val1!=0 ? val1:val2 等价于 val1?val2
- CC150 - 11.5
Question: Given a sorted array of strings which is interspersed with empty strings, write a method t ...