zoukankan      html  css  js  c++  java
  • scrapy项目架构与配置文件

    scrapy项目架构

    -project   # 项目名
      -project # 跟项目一个名,文件夹
        -spiders    # spiders:放着爬虫  genspider生成的爬虫,都放在这下面
          -__init__.py
          -chouti.py # 抽屉爬虫
          -cnblogs.py # cnblogs 爬虫
        -items.py     # 类似django中的models.py文件 ,里面写一个个的模型类
        -middlewares.py  # 中间件(爬虫中间件,下载中间件),中间件写在这
        -pipelines.py   # 写持久化的地方(持久化到文件,mysql,redis,mongodb)
        -settings.py    # 配置文件
      -scrapy.cfg       # Scrapy 上线部署时的配置文件

    scrapy配置文件

    settings.py

    # 是否遵循爬虫协议,强行运行
    ROBOTSTXT_OBEY = False   
    
    # 请求头中的USER_AGENT
    USER_AGENT = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.149 Safari/537.36'
        
    # 这样配置,程序错误信息才会打印,
    LOG_LEVEL='ERROR' 

    爬虫程序文件

    class ChoutiSpider(scrapy.Spider):
        name = 'chouti'   # 它是每个爬虫程序唯一的名字,用来区分不同的Spider
        allowed_domains = ['https://dig.chouti.com/']  # 允许爬取的域名
        start_urls = ['https://dig.chouti.com/']   # 起始爬取的位置,爬虫一启动,会先向它发请求
    
        def parse(self, response):  # 解析response对象,响应回来自动执行parser,在这个方法中做解析
            print('---------------------------',response)
  • 相关阅读:
    springboot + druid
    springboot + lombok
    springboot + swagger2
    Timer / TimerTask 源码解析
    Nginx(三) upstream目前支持的5种分配方式
    Nginx(一) 配置负载均衡
    Intellij IDEA 2018.02 激活方法
    Class常量池、String常量池、运行时常量池
    IntelliJ 结合 javap 实现class文件分析(反编译)
    关于登录注册的简单实现方式
  • 原文地址:https://www.cnblogs.com/baohanblog/p/12675200.html
Copyright © 2011-2022 走看看