仅返回表格的第一行值

时间:2020-10-11 20:50:32

标签: python web-scraping scrapy

我正在从http://ufcstats.com/statistics/fighters中删除战斗机统计信息,但是当我用scrapy遍历表格时,其返回值只是第一个tr值:

汤姆·亚伦-155磅-5 3 0

我做错了什么?

import scrapy


class FightersSpider(scrapy.Spider):
    name = "fighter_spider"

    # urls
    start_urls = ['http://ufcstats.com/statistics/fighters']


    def parse(self, response):
        self.logger.info('teste')

        # access fighter info in a row
        fighter = response.xpath("//table//tr")
        
        for info in fighter:
            yield {
                'first_name': info.xpath('//td/a/text()').get(),
            }

1 个答案:

答案 0 :(得分:1)

这里的问题是如何在整个文档中而不是在 current 节点({{1} }。

代替

//

使用:

.//

这与我今天回答的问题非常相似: https://stackoverflow.com/a/64306258/11326319