zoukankan      html  css  js  c++  java
  • scrapy的调试方法

    Parse命令,Scrapy shell,logging

    一 Parse命令

      检查spider输出的最基本方法是使用Parse命令。这能让你在函数层上检查spider哥哥部分的效果,其十分灵活并且已用。不过不能在代码中测试。

      https://docs.scrapy.org/en/latest/topics/commands.html#std:command-parse

    二 Scrapy shell

      基本使用是配合view 查看scapy拿到的数据。

      高端的用法是。通过scrapy.shell.inspect_response 方法来查看spider的某个位置中被处理的response,以确认期望的response是否到达特定位置。

      效果就相当于,每一个知道到parse的respons,都会支持shell命令,以供查看。

      还是很有用的。

    import scrapy
    
    from scrapy.shell import inspect_response
    START_URL = 'http://www.521609.com/daxuexiaohua/list31{}.html'
    class XiaohuaSpider(scrapy.Spider):
        name = 'xiaohua'
    
        def start_requests(self):
            yield scrapy.Request(url=START_URL.format(1))
        def parse(self, response):
            inspect_response(response,self)
            items = response.css('div.list_center > ul > li')
            for item in items:
                title = item.css('a.title::text').extract_first()
                print(title)
            next_ = response.css('div.listpage > ol > li:nth-child(14) > a::text')
            if next_.extract_first() == '下一页':
                next_url = response.css('div.listpage > ol > li:nth-child(14) > a::attr(href)').extract_first()
                # print(next_url)
                abs_url = response.urljoin(next_url)
                yield scrapy.Request(url=abs_url)

    三 logging

  • 相关阅读:
    Saruman's Army
    Best Cow Line
    Lake Counting
    题目1417:变形金刚
    Ants
    mysql学习笔记--数据库事务
    mysql学习笔记--数据库视图
    mysql学习笔记--数据库多表查询
    mysql学习笔记--数据库单表查询
    mysql学习笔记--数据操作
  • 原文地址:https://www.cnblogs.com/654321cc/p/8971535.html
Copyright © 2011-2022 走看看