0

在运行scrapy spider时,我看到日志消息有“DEBUG:”,其中有 1. DEBUG: Crawled (200) (GET http://www.example.com ) (referer: None) 2. DEBUG: Scraped from (200 http://www.example.com

我想知道 1. 那些“抓取”和“抓取”的意思是什么?2. 两个 ULR 上面的那些从哪里返回(即在抓取页面时哪个变量/参数保存了这些 URL)

4

1 回答 1

2

让我尝试根据Scrapy 网站Scrapy Sample Code上显示的内容进行解释。我把它保存在一个文件中。scrapy_example.py

from scrapy import Spider, Item, Field

class Post(Item):
    title = Field()

class BlogSpider(Spider):
    name, start_urls = 'blogspider', ['http://blog.scrapinghub.com']

    def parse(self, response):
        return [Post(title=e.extract()) for e in response.css("h2 a::text")]

使用命令执行此操作scrapy runspider scrapy_example.py将产生以下输出:

(...)
DEBUG: Crawled (200) <GET http://blog.scrapinghub.com> (referer: None) ['partial']
DEBUG: Scraped from <200 http://blog.scrapinghub.com>
    {'title': u'Using git to manage vacations in a large distributed\xa0team'}
DEBUG: Scraped from <200 http://blog.scrapinghub.com>
    {'title': u'Gender Inequality Across Programming\xa0Languages'}
(...)

Crawled意思是:scrapy 已经下载了那个网页。

Scraped意思是:scrapy 已经从那个网页中提取了一些数据。

URL脚本中作为start_urls参数给出。

您的输出必须是通过运行蜘蛛程序生成的。搜索定义该蜘蛛的文件,您应该能够找到定义 url 的位置。

于 2015-06-11T15:46:49.463 回答