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

2019-07-19 16:36:30 浏览数 (1)

使用爬虫框架scrapy爬取淘宝

一.创建项目

1.安装scrapy

pip install scrapy

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

scrapy startproject taobao

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

scrapy genspider mytaobao taobao.com

二.制定需要的内容

从web端找到几项内容

关注的内容

价格

收货人数

商品名

商铺名

发货地址

详情连接

将内容写入items.py

根据提示开始写

# define the fields for your item here like:

# name = scrapy.Field()

代码语言:javascript复制
  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配置

三.分析url

淘宝搜索

女装 裙

且按销量排序后的url为:

https://s.taobao.com/search?q=女装 裙&imgfile=&js=1&stats_click=search_radio_all:1&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']

四.使用正则表达式解析

页面查看发现存在一段json

g_page_config

其中包含了所要的内容

对其进行正则解析

五.数据存储到文件中

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

六.运行爬虫

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

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

0 人点赞