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

使用爬虫框架scrapy爬取淘宝

一.创建项目

1.安装scrapy

pip install scrapy

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

scrapy startproject taobao

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

scrapy genspider mytaobao taobao.com

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

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

二.制定需要的内容

从web端找到几项内容

《爬虫练习_使用scrapy爬取淘宝》 关注的内容

价格

收货人数

商品名

商铺名

发货地址 

详情连接

将内容写入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配置

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

三.分析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’]

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

四.使用正则表达式解析

页面查看发现存在一段json

g_page_config

其中包含了所要的内容

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

对其进行正则解析

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

五.数据存储到文件中

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

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

六.运行爬虫

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

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

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

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

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

                                                    欢迎关注微信公众号:钟胖胖的记事本

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

    原文作者:zhongxin钟
    原文地址: https://www.jianshu.com/p/40e7ff75b17b
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞