我对python和scrapy比较陌生;几天前刚开始从教程中学习。
就像标题所说的那样,我一直试图通过从fanfiction.net上抓取章节来完成一个简单的文本抓取操作。但是,我遇到了障碍,尽管shell中的测试选择器运行得很好,但是当我运行命令scrapy crawl fanfiction -o fanfiction.json
时,蜘蛛本身仍然没有返回任何内容。
这是我到目前为止的代码;它本质上是doc.scrapy.org教程代码的修改版本。
import scrapy
class FFSpider(scrapy.Spider):
name = "fanfiction"
start_urls = [
'https://www.fanfiction.net/s/12580108/1/Insane-Gudako',
'https://www.fanfiction.net/s/12580108/2/Insane-Gudako',
]
def parse(self, response):
from scrapy.shell import inspect_response
inspect_response(response, self)
for chapter in response.css('div.fanfiction'):
yield {
'summary': chapter.css('.storytext p').xpath('text()').extract()
}
在内联shell调用中,使用chapter.css('.storytext p').xpath('text()').extract()
进行测试会正确返回文本,但是一旦蜘蛛完成爬网,fanfiction.json仍然是一个空文件。
这里有什么问题?