Ich bin ein wenig neu zu scrapy, und ich muss einige Zeitungen Informationen für eine Arbeit zu extrahieren, ich habe einige Tutorial versucht, aber keiner von ihnen arbeitete wie erwartet, das Ziel ist es eine gegebene URL, extrahieren Sie die Informationen über die ersten 4 oder 5 Themen (die Insider-Informationen, wenn wir auf den Link klicken). Ich habe versucht, zuerst durch die Links zu navigieren, Bit ich scheitern, die Ausgabe ist leer und sagt 0 gecrawlte Seiten.scrapy extrat von Zeitungen zu txt
import scrapy
class BlogSpider(scrapy.Spider):
name = 'blogspider'
start_urls = ['http://www.dn.pt/pesquisa.html?q=economia%20empresas']
def parse(self, response):
for title in response.css('div.gs-title'):
yield
{
'title': title.css('a.gs-title::text').extract_first()
}
the title/link for the first news
the div containing all the news
Crawler zur ersten Verbindung geht, und an diesem Link, um die Informationen zu extrahieren, geht dann auf die zweite und die Informationen des zweiten extrahieren. so für die 4 oder 5 ersten Nachrichten.
Log:
2017-05-03 12:46:37 [scrapy.utils.log] INFO: Scrapy 1.3.3 started (bot: scrapybot)
2017-05-03 12:46:37 [scrapy.utils.log] INFO: Overridden settings: {'SPIDER_LOADER_WARN_ONLY': True, 'LOG_FILE': 'output.log'}
2017-05-03 12:46:37 [scrapy.middleware] INFO: Enabled extensions:
['scrapy.extensions.logstats.LogStats',
'scrapy.extensions.telnet.TelnetConsole',
'scrapy.extensions.corestats.CoreStats']
2017-05-03 12:46:37 [scrapy.middleware] INFO: Enabled downloader middlewares:
['scrapy.downloadermiddlewares.httpauth.HttpAuthMiddleware', 'scrapy.downloadermiddlewares.downloadtimeout.DownloadTimeoutMiddleware', 'scrapy.downloadermiddlewares.defaultheaders.DefaultHeadersMiddleware', 'scrapy.downloadermiddlewares.useragent.UserAgentMiddleware', 'scrapy.downloadermiddlewares.retry.RetryMiddleware', 'scrapy.downloadermiddlewares.redirect.MetaRefreshMiddleware', 'scrapy.downloadermiddlewares.httpcompression.HttpCompressionMiddleware', 'scrapy.downloadermiddlewares.redirect.RedirectMiddleware', 'scrapy.downloadermiddlewares.cookies.CookiesMiddleware', 'scrapy.downloadermiddlewares.stats.DownloaderStats']
2017-05-03 12:46:37 [scrapy.middleware] INFO: Enabled spider middlewares:
['scrapy.spidermiddlewares.httperror.HttpErrorMiddleware',
'scrapy.spidermiddlewares.offsite.OffsiteMiddleware',
'scrapy.spidermiddlewares.referer.RefererMiddleware',
'scrapy.spidermiddlewares.urllength.UrlLengthMiddleware',
'scrapy.spidermiddlewares.depth.DepthMiddleware']
2017-05-03 12:46:37 [scrapy.middleware] INFO: Enabled item pipelines:
[]
2017-05-03 12:46:37 [scrapy.core.engine] INFO: Spider opened
2017-05-03 12:46:37 [scrapy.extensions.logstats] INFO: Crawled 0 pages (at 0 pages/min), scraped 0 items (at 0 items/min)
2017-05-03 12:46:37 [scrapy.extensions.telnet] DEBUG: Telnet console listening on 127.0.0.1:6023
2017-05-03 12:46:38 [scrapy.core.engine] DEBUG: Crawled (200) <GET http://www.dn.pt/pesquisa.html?q=economia%20empresas> (referer: None)
2017-05-03 12:46:38 [scrapy.core.engine] INFO: Closing spider (finished)
2017-05-03 12:46:38 [scrapy.statscollectors] INFO: Dumping Scrapy stats:
{'downloader/request_bytes': 242,
'downloader/request_count': 1,
'downloader/request_method_count/GET': 1,
'downloader/response_bytes': 16289,
'downloader/response_count': 1,
'downloader/response_status_count/200': 1,
'finish_reason': 'finished',
'finish_time': datetime.datetime(2017, 5, 3, 11, 46, 38, 199050),
'log_count/DEBUG': 2,
'log_count/INFO': 7,
'response_received_count': 1,
'scheduler/dequeued': 1,
'scheduler/dequeued/memory': 1,
'scheduler/enqueued': 1,
'scheduler/enqueued/memory': 1,
'start_time': datetime.datetime(2017, 5, 3, 11, 46, 37, 873062)}
2017-05-03 12:46:38 [scrapy.core.engine] INFO: Spider closed (finished)
Können Sie Crawl-Protokoll veröffentlichen? Sie können dies über 'scrapy crawl spider --logfile output.log' oder' scrapy crawl spider &> output.log' Befehle ausführen. – Granitosaurus
Bitte ergänzen Sie Ihre Frage, indem Sie Ihre Frage direkt bearbeiten, nicht indem Sie die Ergänzungen als Frage posten (dies wurde bereits bereinigt). – rrschmidt