scrapy 初识 scrapy框架

scrapy框架

框架介绍: Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架,非常出名,非常强悍。所谓的框架就是一个已经被集成了各种功能(高性能异步下载,队列,分布式,解析,持久化等)的具有很强通用性的项目模板。对于框架的学习,重点是要学习其框架的特性、各个功能的用法即可。

安装:
  Linux:
      pip3 install scrapy
  Windows:
      a. pip3 install wheel
      b. 下载twisted http://www.lfd.uci.edu/~gohlke/pythonlibs/#twisted
      c. 进入下载目录,执行 pip3 install Twisted‑17.1.0‑cp35‑cp35m‑win_amd64.whl
      d. pip3 install pywin32
      e. pip3 install scrapy
基础使用
    1.创建项目:scrapy startproject 项目名称
    2.cd  proName
    3.创建爬虫文件scrapy genspider
    4.执行scrapy crawl  spiderName

scrapy crawl  pa1 --nolog #忽略log日志
# -*- coding: utf-8 -*-
import scrapy
class Pa1Spider(scrapy.Spider):
    # 爬虫文件的名称
    name = 'pa1'
    # allowed_domains = ['www.xxx.com']   # 允许域名
    start_urls = ['https://www.qiushibaike.com/text/']  # 起始url列表 可写多个

    # 解析数据
    def parse(self, response):  #响应
        div_list = response.xpath('//div[@id="content-left"]/div')
        names = []
        for div in div_list:
            # author = div.xpath('./div[1]/a[2]/h2/text()')[0].extract()
            author = div.xpath('./div[1]/a[2]/h2/text()').extract_first()

            names.append({'name':author})  #必须封装到字典中  ('json', 'jsonlines', 'jl', 'csv', 'xml', 'marshal', 'pickle')
        return names
    # 持久化存储
    # - 基于终端指令 特性:只能将parse方法的返回值存到磁盘里面
    # - 基于管道

猜你喜欢

转载自www.cnblogs.com/zhangchen-sx/p/10822936.html