• 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协议
    配置文件中添加或修改设置如下
  • 相关阅读:
    最佳调度问题_分支限界法
    运动员最佳配对问题
    最小重量机器设计问题
    实现银行家算法和先进先出算法_对文件读写数据
    n皇后问题_回溯法
    0-1背包_回溯法
    根据前序、中序、后序遍历还原二叉树
    矩阵连乘问题_动态规划
    最长公共子序列_动态规划
    最优二叉查找树_动态规划
  • 原文地址:https://www.cnblogs.com/yuliangkaiyue/p/10025020.html
Copyright © 2020-2023  润新知