Scrapy模块是一个非常常用的爬虫框架模块,使用Scrapy可以快速创建爬虫项目。

Scrapy模块的安装

建议安装顺序

  • 如果使用pycharm可以在Setting -> Project -> Project Interpreter 点击 + 添加最新的库
  • pip install scrapy 或 pip install scrapy==1.1.0rc3

  • 下载安装pywin32并配置

pywin32

将这俩dll复制到system32(由于权限问题需手动确认一遍)


Scrapy常用指令实战

指令 意义
startproject 创建爬虫项目
genspider -l 查看爬虫模板
genspider -t 模板 爬虫文件名 域名 创建爬虫
crawl 运行爬虫
list 查看有哪些爬虫
  • 创建爬虫项目

startproject

创建完成之后的项目目录:

startproject

scrapy.cfg: 项目配置文件

init.py : 初始化文件

items.py : 定义目标信息

spiders :存放多个爬虫文件

middlewares.py : 中间件

pipelines.py : 爬后处理(例如写入数据库…)

settings.py : 总体设置信息

  • 指令测试

指令测试


Scrapy爬虫项目编写基础

  • 创建爬虫项目

  • 编写items

title = scrapy.Field()
  • 创建爬虫文件

  • 编写爬虫文件

# -*- coding: utf-8 -*-
import scrapy
from wh_first.items import WhFirstItem

class FstSpider(scrapy.Spider):
    name = 'fst'
    allowed_domains = ['aliwx.com.cn']
    start_urls = ['http://www.aliwx.com.cn/']

    def parse(self, response):
        item=WhFirstItem()
        item["title"] = response.xpath("//p[@class='title']/text()").extract()
        # print(item["title"])
        yield item
  • 编写pipelines
def process_item(self, item, spider):
    for i in range(0,len(item["title"])):
    print("------------")
    print(item["title"][i])
  • 配置settings
ITEM_PIPELINES = {
'wh_first.pipelines.WhFirstPipeline': 300,
}

使用Scrapy编写当当网商品数据爬虫实战

  • 目标站点:当当

  • 需求数据:商品标题、链接、评论数等数据

  • 要求:自动翻页并自动写入数据库

源码