一、scrapy_redis案例之爬取 当当网
整体思路:先实现普通的scrapy爬虫,然后在改写成scrapy_redis
普通的scrapy爬虫:
(一)需求:获取图书分类中所有图书的书名和封面,如下图:
也就是说先得到小分类中的链接,点击(请求)进入之后,再获取每本书的书名和封面(链接)
(二)页面分析:
1、右键查看网页源代码,发现数据就在源代码中,不是js。
(三)爬虫文件的实现:
1、新建爬虫项目:(在桌面,新建一个dangd的爬虫文件夹)
2、点击进入爬虫文件夹,打开爬虫文件:
3、将逻辑代码写入该文件:
逻辑:大分类 二级分类 三级分类 图书的名字和图片的src
# -*- coding: utf-8 -*-
import scrapy
class DangdangSpider(scrapy.Spider):
name = 'dangdang'
allowed_domains = ['dangdang.com']
start_urls = ['http://book.dangdang.com/'] #将['http://dangdang.com/']修改
def parse(self, response):
div_list = response.xpath('//div[@class="con flq_body"]/div')
for div in div_list:
item = {}
# 获取大分类
item['b_cate'] = div.xpath('./dl/dt//text()').