爬虫练习_使用scrapy爬取淘宝

使用爬虫框架scrapy爬取淘宝

一.创建项目

1.安装scrapy

pip install scrapy

2.选择一个目录开启一个scrapy项目

scrapy startproject taobao

3.新建一个名为mytaobao的爬虫

scrapy genspider mytaobao taobao.com

640?wx_fmt=png

640?wx_fmt=png


二.制定需要的内容

从web端找到几项内容

640?wx_fmt=png  
关注的内容

价格

收货人数

商品名

商铺名

发货地址 

详情连接

将内容写入items.py

根据提示开始写

# define the fields for your item here like: 
# name = scrapy.Field()


  class TaobaoItem(scrapy.Item):
   price = scrapy.Field()
   sales = scrapy.Field()
   title = scrapy.Field()
   nick = scrapy.Field()
   loc = scrapy.Field()
   detail_url = scrapy.Field()

开启setting.py中的item配置

640?wx_fmt=png

三.分析url

淘宝搜索

女装 裙

且按销量排序后的url为:


https://s.taobao.com/search?q=%E5%A5%B3%E8%A3%85+%E8%A3%99&imgfile=&js=1&stats_click=search_radio_all%3A1&initiative_id=staobaoz_20180406&ie=utf8&sort=sale-desc



大胆的删除一些看上去没啥用的内容

https://s.taobao.com/search?q=女装+裙&sort=sale-desc&s=44



所以:

q:关键字 
sort:排序方式   
sale-desc:销量降序 
s:展示个数


为了方便管理,统一将常量放在setting.py文件中

KEY_WORDS = '女装 裙' #关键字 

PAGE_NUM = 100          #页数 

ONE_PAGE_COUNT = 44 #每页个数

key_words = self.settings['KEY_WORDS']
page_num = self.settings['PAGE_NUM']
one_page_count = self.settings['ONE_PAGE_COUNT']


640?wx_fmt=png

四.使用正则表达式解析

页面查看发现存在一段json

g_page_config

其中包含了所要的内容

640?wx_fmt=png


对其进行正则解析

640?wx_fmt=png

五.数据存储到文件中

在pipelines中写入存储文件的语句

640?wx_fmt=png

六.运行爬虫

记得关闭爬虫君子协议配置

640?wx_fmt=png


使用:scrapy crawl mytaobao开始运行爬虫

640?wx_fmt=png


640?wx_fmt=png



  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值