Scrapy/Python/XPath-如何从数据中提取数据?
我是Scrapy的新手,我刚刚开始研究XPath 我试图从一个div中的html列表项中提取标题和链接。下面的代码是我的想法(通过id选择ul div,然后循环列表项): 但我得到了与这次尝试相同的结果:Scrapy/Python/XPath-如何从数据中提取数据?,python,xpath,web-scraping,scrapy,Python,Xpath,Web Scraping,Scrapy,我是Scrapy的新手,我刚刚开始研究XPath 我试图从一个div中的html列表项中提取标题和链接。下面的代码是我的想法(通过id选择ul div,然后循环列表项): 但我得到了与这次尝试相同的结果: def parse(self, response): for x in response.xpath('//li'): item = TgmItem() item['title'] = x.xpath('a/text()').extract()
def parse(self, response):
for x in response.xpath('//li'):
item = TgmItem()
item['title'] = x.xpath('a/text()').extract()
item['link'] = x.xpath('a/@href').extract()
yield item
其中导出的csv文件自上而下包含源代码中的li数据
我不是专家,我做过很多尝试,如果有人能对此有所了解,我将不胜感激。您需要在内部循环中使用的xpath表达式开头加一个点:
for t in response.xpath('//*[@id="categories"]/ul'):
for x in t.xpath('.//li'):
这将使它在当前元素的范围内搜索,而不是整个页面
有关更多说明,请参阅
for t in response.xpath('//*[@id="categories"]/ul'):
for x in t.xpath('.//li'):