• scrapy框架简介和基础使用


    概念

      为了爬取网站数据而编写的一款应用框架,出名,强大。所谓的框架其实就是一个集成了相应的功能且具有很强通用性的项目模板。(高性能的异步下载,解析,持久化……)

    安装

    1. linux mac os:pip install scrapy
    2. win:
      1. pip install wheel
      2. 下载twistedhttps://www.lfd.uci.edu/~gohlke/pythonlibs/#twisted

            pip install 下载好的框架.whl

       3.pip install pywin32

       4.pip install scrapy

    基础使用流程

    1. 创建一个工程:scrapy startproject 工程名称
      1. 目录结构:

    2. 在工程目录下创建一个爬虫文件:
      1. cd 工程
      2. scrapy genspider 爬虫文件的名称 起始url
    3. 对应的文件中编写爬虫程序来完成爬虫的相关操作
    4. 配置文件的编写(settings
      #USER_AGENT = 'redisPro (+http://www.yourdomain.com)'伪装UA
      USER_AGENT = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36'
      
      # Obey robots.txt rules
      ROBOTSTXT_OBEY = False    # 取消robots协议
    5. 执行  scrapy crawl 爬虫文件名称

    示例

    # -*- coding: utf-8 -*-
    import scrapy
    
    
    class FirstSpider(scrapy.Spider):
        # 爬虫文件的名称:通过爬虫文件的名称可以指定定位到某一个爬虫文件
        name = 'first'
        #允许的域名:只能爬取指定域名下的页面数据
        allowed_domains = ['www.qiushibaike.com']
        #起始url:当前工程将要爬取的页面所对应的url
        start_urls = ['http://www.qiushibaike.com/']
        
        
        # 解析方法:对获取的页面数据进行指定内容的解析
        # response:根据起始url列表发起请求,请求成功后返回的响应对象
        # 返回值:必须为迭代器或者为空
        def parse(self, response):
            print(response)  # 获取响应对象的页面数据
    first.py
    # Crawl responsibly by identifying yourself (and your website) on the user-agent
    USER_AGENT = 'firstblood (+http://www.yourdomain.com)'  # 伪装UA
    
    #指定终端输出指定种类的日志信息
    LOG_LEVEL = 'ERROR'
    LOG_FILE = 'log.txt' # 存储在指定文件中,不再在终端输出
    
    # Obey robots.txt rules
    ROBOTSTXT_OBEY = False  # 不遵从robots协议
    配置文件中添加或修改设置如下
  • 相关阅读:
    iptables单独记录一个日志文件
    centos7安装kvm
    查看一个启动的程序安装位置
    mysql-audit
    select 导出数据以|分割
    Codeforces 1105E 最大独立集 状态DP 中途相遇法
    Codeforces 1140E DP
    Codeforces 1152D DP
    GYM 101933E 状态压缩 + 记忆化搜索
    Codeforces 1151E 统计贡献
  • 原文地址:https://www.cnblogs.com/yuliangkaiyue/p/10025020.html
Copyright © 2020-2023  润新知