下面的蜘蛛程序在运行时会创建一个空白的.xml文件,而不是包含所需项目的文件,您能找出错误吗?
请注意,我绝对是业余爱好者,因此使用Occam剃刀可能是最简单的解决方法。
arakaali.py中的蜘蛛代码:
import scrapy
from PoExtractor.items import PoextractorItem
class RedditSpider(scrapy.Spider):
name = "arakaali"
start_urls = [
"https://pathofexile.gamepedia.com/Araku_Tiki"
]
def parse(self, response):
item = PoextractorItem()
item["item_name"] = selector.xpath("//*[@id='mw-content-text']/span/span[1]/span[1]/text()[1]").extract()
item["flavor_text"] = selector.xpath("//*[@id='mw-content-text']/span/span[1]/span[2]/span[3])").extract()
yield item
item.py的代码:
import scrapy
class PoextractorItem(scrapy.Item):
flavor_text = scrapy.Field()
item_name = scrapy.Field()
pass
然后我使用命令scrapy crawl arakaali
,但是结果是空白文档。
我要从中提取数据的页面是https://pathofexile.gamepedia.com/Araku_Tiki
在此先感谢您的帮助。
答案 0 :(得分:0)
您可以使用response
变量来代替selector
,该变量未定义,但是在运行该代码时会出现错误。
更新:
第二个xpath "//*[@id='mw-content-text']/span/span[1]/span[2]/span[3])"
中有一个错误,应删除表达式中的最后一个括号(在span[3]
之后)