趣玩网 爬虫开发笔记
- Scrapy 初体验
- PyCharm中启动爬虫调试
- XPath
- 趣玩网
- 创建工程
- 首页html分析规律
- 商品详情页分析及提取
- 商品Item对象字段定义
- DB 数据持久化
- 页面表
- 图片表
- 商品信息表
- 需要考虑扩展的部分
- 问题点
- 源码
Scrapy 初体验
scrapy startproject project_name 创建工程
scrapy genspider -t basic spider_name website.com 以basic模版创建爬虫
ROBOTSTXT_OBEY = False 不遵守Robots协议
Item 添加字段
添加pipeline用于Item处理(输出到屏幕/数据/json)
配置pipeline **dangdang.pipelines.DangdangPipeline': 300 **
添加爬取逻辑 : def parse(self, response):
scrapy crawl spider_name —nolog 启动爬虫
PyCharm中启动爬虫调试
命令行执行 scrapy crawler spider
启动爬虫,其实与下面指令是一样的:
python C:\Python34\Lib\site-packages\scrapy\cmdline.py crawl spider_name
的效果是一样的
这样只需要在pycharm中的Run下Edit Configurations...中做运行配置即可:
Script: C:\Python34\Lib\site-packages\scrapy\cmdline.py
Script parameters: crawl spider_name
XPath
/div[@attr='xxxx'] 选择属性为xxxx的div标签
a/@title.extract() 输出a标签内的title属性值
a/text() 取标签文本print ("title : " + p.xpath('dl/dd/a/@title').extract())
print("link : " + p.xpath('dl/dd/a/@href').extract())
print("price : " + p.xpath('dl/dd/span/text()').extract()) 取标签文本
print("logo : " + p.xpath('a/img[@onerror="imgerror(event)"]/@src').extract())
print("link : " + p.xpath('dl/dd/a/@href').extract())
趣玩网
创建工程
scrapy startproject quwan
scrapy genspider -t basic QuwanSpider quwan.com
ROBOTSTXT_OBEY = False
首页html分析规律
480x480大方块
brick col2 masonry-brick 专题定位//div[@class=='brick col2 masonry-brick'] 专题定位/a/@href 专题详情页link (存在不完整连接)/a/img[@onerror="imgerror(event)"]/@src 专题头像link
235x235小方块
brick col1 commodity bestlikes masonry-brick 商品定位//div[@class='brick col1 commodity bestlikes masonry-brick'] 商品定位/a/@href 商品详情页link (存在不完整连接)/a/@title 名称/a/img[@onerror="imgerror(event)"]/@src 商品头像link/dl/dd/a/@href 商品详情页link (存在不完整连接)/dl/dd/a/@title 名称/dl/dd/span.text() 价格
滚动交互区域
brick col1 userActive
一键回顶部
goTop_box
商品详情页分析及提取
缩略图特效区域
//a[@class="cloud-zoom"]/@href 缩略大图1
//a[@class="cloud-zoom"]/img/@src 缩略大图2
//ul[@class="pic_index"]/li[@class="pic_li"]/img/@src 缩略小图//div[@id="paykey_new"]//ul/li/dl/dt 品牌//div[@class="product_mess"] //商品信息
//div[@class="mess_box"] //商品信息
//div[@class="box details"]/p/img/@src 商品图片详情,多图组成
//div[@class="gn_decri"]/p/text() 商品介绍文本
商品Item对象字段定义
class QuwanItem(scrapy.Item):# define the fields for your item here like:# name = scrapy.Field() goods_id = scrapy.Field() #商品idpage_id = scrapy.Field() #商品索引页logo = scrapy.Field() #商品列表logoprice = scrapy.Field()title = scrapy.Field()brand = scrapy.Field() #品牌pic_zoom_b1 = scrapy.Field() #缩略大图1pic_zoom_b2 = scrapy.Field() #缩略大图2pic_zoom_m = scrapy.Field() #缩略小图pic_des = scrapy.Field() #商品详情图goods_des = scrapy.Field() #商品文本简介params_name = scrapy.Field() #参数params_val = scrapy.Field()
坑爹的item
item.goods_id = "xxxx" 不能这样访问
item['goods_id'] = "xxxx" 非得这样访问
yield item 返回item对象安装加工管道逐个处理item
ITEM_PIPELINES = {'quwan.pipelines.QuwanPipeline': 300,
}
DB 数据持久化
使用SQLAlchemy教程
页面表
页面id, 商品id
图片表
商品id, 图片顺序号, 图片链接, 图片类型(logo,缩放图,产品详情图)
商品信息表
商品id,价格、名称、参数、赞数量
需要考虑扩展的部分
- 品牌
- 好评指数
- 库存&到货通知
- 点赞喜欢
- 放上自己的微信二维码
- 分享链接可以考虑是否添加上
问题点
- 首页--详情,产品ID如何匹配?
- 数据库,手动建库还是对象映射,json?
- 缩略图特效支持
- Scrapy 如何多线程
源码
转载于:https://www.cnblogs.com/Jogging/p/qu-wan-wang-pa-chong-kai-fa-bi-ji.html
趣玩网 爬虫开发笔记相关推荐
- python 携程_python 携程爬虫开发笔记
前言 最近购买了<Python3 爬虫.数据清洗与可视化实战>,刚好适逢暑假,就尝试从携程页面对广州的周边游产品进行爬虫数据捕捉. 因为才学Python不够一个星期,python的命名规范 ...
- java网络爬虫开发笔记
步骤: 0. 从一个/多个起始页面开始 1. 检查网页是否已经被爬过(mysql + connector-j) 2. 拉取网页内容(jsoup) 3. 解析网页,寻找其中的<a>标签(js ...
- 仿趣玩网五屏带标题的jQuery幻灯效果 分享
此代码参考网上修改的,上面要收费,我花了一小时整理修改的...还算节约了一瓶可乐钱... 下面附上代码和源码... 效果图 1.页面 <!DOCTYPE html PUBLIC '-//W3C/ ...
- 《崔庆才Python3网络爬虫开发实战教程》学习笔记(3):抓取猫眼电影榜单TOP100电影,并存入Excel表格
本篇博文是自己在学习崔庆才的<Python3网络爬虫开发实战教程>的学习笔记系列,如果你也要这套视频教程的话,关注我公众号[小众技术],关注后回复[PYTHON],无套路免费送你一个学习大 ...
- Android开发笔记(一百零九)利用网盘实现云存储
网盘存储 个人开发者往往没有自己的后台服务器,但同时又想获取app的运行信息,这就要借助于第三方的网络存储(也叫网盘.云盘.微盘等等).通过让app自动在网盘上存取文件,可以间接实现后台服务器的存储功 ...
- P2【商业级MMORPG大型网游】Unity全栈开发 笔记
入门unity开发笔记 已报名,见评论.刚刚开始学习unity3d,今天我将开发我的第一个项目.一是项目的规划. 1. 游戏玩法是一种冒险玩法,类似于<马里奥>,但它是基于3D视角开发的. ...
- 《崔庆才Python3网络爬虫开发实战教程》学习笔记(5):将爬虫爬取到的数据存储到TXT,Word,Excel,Json等文件中
本篇博文是自己在学习崔庆才的<Python3网络爬虫开发实战教程>的学习笔记系列,此套教程共5章,加起来共有34节课,内容非常详细丰富!如果你也要这套视频教程的话,关注我公众号[小众技术] ...
- python3网络爬虫开发实战pdf 崔庆才 百度网盘分享
python3网络爬虫开发实战pdf 崔庆才 百度网盘分享 介绍了如何利用Python 3开发网络爬虫,环境配置和基础知识,然后讨论了urllib.requests.正则表达式.Beautiful S ...
- 《崔庆才Python3网络爬虫开发实战教程》学习笔记(4):解析库Xpath的使用方法总结
本篇博文是自己在学习崔庆才的<Python3网络爬虫开发实战教程>的学习笔记系列,如果你也要这套视频教程的话,关注我公众号[小众技术],关注后回复[PYTHON],无套路免费送你一个学习大 ...
最新文章
- 使用Lucene分词
- stm32怎么加载字库_收藏 | STM32单片机超详细学习汇总资料(二)
- eclipse : java项目中的web.xml( Deployment Descriptor 部署描述文件 )配置说明
- 95-268-280-源码-Flink通信层的序列化与反序列化
- java hashtable 数据结构_java Hashtable底层原理是怎样的?数据结构包括什么?
- @RequestParam @RequestBody @PathVariable 等参数绑定
- IDEA 常用设置 与 常用操作(一)
- 锋利的jquery(认识jquery)
- 计算机技能大赛总结汇报大学,计算机专业技能大赛总结
- 手游沙巴克传奇当前服务器维护,《沙巴克传奇》12月18日安卓、IOS维护公告
- http域名跳转到https域名
- OPENGL OSG setNearFarRatio可以动态调节远近剪裁面
- 新版HyperMesh的Assemblies中调出下拉菜单查看Component(装配关系模型树)
- java面向对象高级特性 ---接口案例(学校中有教师和学生两类人,而在职研究生既是教师又是学生)
- lasso,lars算法详细推导过程-数学
- Druid基本概念及架构介绍
- MyBatis面试题1
- gcc -lm 是什么意思?
- 熵值法的信息熵值、效用值如何计算?
- 虎年屠虎:巨亏下的IPO,你也太虎了吧
热门文章
- homeassistant+broadlink
- oracle小机系统,【案例分享】Oracle系统参数过小导致数据库宕机
- 基于Vue.js的iView组件库table组件内render 里面 tab 里面的单选
- 【数据库02】==== 表的增删改查(基础)
- 史上最全搭建MAVEN私服上传并使用JAR包教程
- 幕客学习CSS3全面基础知识点
- dpdk实例flow_classify
- leaflet-自定义底图
- leaflet加载天地图影像、地形、矢量底图
- 半导体分立器件静态参数测试系统 DCT1401 天光测控