首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python 学习手册
Python Cookbook
Python 基础教程
Python Sites
PyPI - Python Package Index
http://www.simple-is-better.com/
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
V2EX  ›  Python

[新人求助] 关于 scrapy 项目中 scrapy.Request 没有回调的问题

  •  
  •   15874103329 · 41 天前 · 473 次点击
    这是一个创建于 41 天前的主题,其中的信息可能已经有所发展或是发生改变。
    import scrapy

    from Demo.items import DemoItem


    class QuotesSpider(scrapy.Spider):
    name = 'quotes'
    allowed_domains = ['quores.toscrape.com']
    start_urls = ['http://quotes.toscrape.com/']

    def parse(self, response):
    quotes = response.css('.quote')
    for quote in quotes:
    item = DemoItem()
    text = quote.css('.text::text').extract_first()
    author = quote.css('.author::text').extract_first()
    tags = quote.css('.tags .tag::text').extract()
    item['text'] = text
    item['author'] = author
    item['tags'] = tags
    yield item


    next = response.css('.pager .next a::attr("href")').extract_first()
    url = response.urljoin(next)
    if next:
    yield scrapy.Request(url=url,callback=self.parse)
    10 回复  |  直到 2019-01-10 13:00:39 +08:00
        1
    15874103329   41 天前
    按照教程里写的,但是我这代码只爬取了一页就结束了,求大佬帮忙看看
        2
    15874103329   41 天前
    求助啊
        3
    Leigg   41 天前 via iPhone
    把 next 打印出来
        4
    carry110   41 天前 via iPhone
    next 哪行,不要 extract_first ()试试。
        5
    carry110   40 天前
    把 if next:去掉就能行了,亲测!
        6
    15874103329   40 天前
    @Leigg next 打印出来是 '/page/2/'
    url 是'http://quotes.toscrape.com/page/2/'
        7
    15874103329   40 天前
    @carry110
    我这还是只打印了一页,不知啥情况
        8
    Leigg   40 天前 via iPhone
    贴出 scrapy 结束的日志
        9
    15874103329   40 天前
    @Leigg
    2019-01-10 11:35:18 [scrapy.spidermiddlewares.offsite] DEBUG: Filtered offsite request to 'http': <GET http://http//quotes.toscrape.com/page/2>
    2019-01-10 11:35:18 [scrapy.core.engine] INFO: Closing spider (finished)
    2019-01-10 11:35:18 [scrapy.statscollectors] INFO: Dumping Scrapy stats:
    {'downloader/request_bytes': 446,
    'downloader/request_count': 2,
    'downloader/request_method_count/GET': 2,
    'downloader/response_bytes': 2701,
    'downloader/response_count': 2,
    'downloader/response_status_count/200': 1,
    'downloader/response_status_count/404': 1,
    'finish_reason': 'finished',
    'finish_time': datetime.datetime(2019, 1, 10, 3, 35, 18, 314550),
    'item_scraped_count': 10,
    'log_count/DEBUG': 14,
    'log_count/INFO': 7,
    'offsite/domains': 1,
    'offsite/filtered': 9,
    'request_depth_max': 1,
    'response_received_count': 2,
    'scheduler/dequeued': 1,
    'scheduler/dequeued/memory': 1,
    'scheduler/enqueued': 1,
    'scheduler/enqueued/memory': 1,
    'start_time': datetime.datetime(2019, 1, 10, 3, 35, 14, 371325)}
    2019-01-10 11:35:18 [scrapy.core.engine] INFO: Spider closed (finished)
        10
    15874103329   40 天前
    已解决,修改代码为 yield scrapy.http.Request(url, callback=self.parse, dont_filter=True)
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2566 人在线   最高记录 4385   ·  
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 24ms · UTC 00:53 · PVG 08:53 · LAX 16:53 · JFK 19:53
    ♥ Do have faith in what you're doing.
    沪ICP备16043287号-1