使用爬虫框架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()
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=%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']
四.使用正则表达式解析
页面查看发现存在一段json
g_page_config
其中包含了所要的内容
对其进行正则解析
五.数据存储到文件中
在pipelines中写入存储文件的语句
六.运行爬虫
记得关闭爬虫君子协议配置
使用:scrapy crawl mytaobao
开始运行爬虫