Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/327.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用Scrapy解析XML子节点_Python_Xml_Xml Parsing_Scrapy_Scrapy Spider - Fatal编程技术网

Python 使用Scrapy解析XML子节点

Python 使用Scrapy解析XML子节点,python,xml,xml-parsing,scrapy,scrapy-spider,Python,Xml,Xml Parsing,Scrapy,Scrapy Spider,我正在使用Scrapy删除一个XML文件。Scrapy为您提供了通过任何节点名称(如)进行报废的选项: 1.jpg 1.jpg 2.jpg 1.jpg 2.jpg 这是我的蜘蛛: from scrapy.spiders import XMLFeedSpider class spider(XMLFeedSpider): name='spider' start_urls=['http://www.expample.com/xml.xml'] itertag='listing' def p

我正在使用Scrapy删除一个XML文件。Scrapy为您提供了通过任何节点名称(如
)进行报废的选项:


1.jpg
1.jpg
2.jpg
1.jpg
2.jpg
这是我的蜘蛛:

from scrapy.spiders import XMLFeedSpider
class spider(XMLFeedSpider):
 name='spider'
 start_urls=['http://www.expample.com/xml.xml']
 itertag='listing'
 def parse_node(self,response,node):
  self.logger.info('Hi, this is a <%s> node!: %s', self.itertag, ''.join(node.extract()))
从scrapy.spider导入XMLFeedSpider
类爬行器(XMLFeedSpider):
name='spider'
起始URL=['http://www.expample.com/xml.xml']
itertag='listing'
def parse_节点(自身、响应、节点):
self.logger.info('您好,这是一个节点!:%s',self.itertag',.join(node.extract()))

我可以使用“itertag”设置定义节点,该设置当前位于“listing”。我想先运行每个
,然后针对每个
运行每个
。如何解析子节点(子节点)

您需要建立
scrapy.Item
scrapy.http.Request
对象列表,以在
parse_节点中返回

  sources = [Item(src=src) in for src in node.xpath('//img/text()').extract()]
  return sources
参考资料:

您需要构建
scrapy.Item
scrapy.http.请求
对象的列表,以在
解析节点中返回

  sources = [Item(src=src) in for src in node.xpath('//img/text()').extract()]
  return sources
参考资料: