gpt4 book ai didi

python - 如何使用 scrapy 选择表?

转载 作者:太空宇宙 更新时间:2023-11-04 03:20:06 25 4
gpt4 key购买 nike

我正在抓取一个包含表格的页面,我可以通过这种方式提取我感兴趣的链接:

 response.xpath('//*[@id="mw-content-text"]/table[1]/tr/td[1]/a/@href').extract()

现在,有3个或更多的表,如果我这样写:

response.xpath('//*[@id="mw-content-text"]/table/tr/td[1]/a/@href').extract()

我得到了所有表的数据,但是如果我只想要 n 个表,有一种方法可以不使用 n 个表达式来获取它,有些东西像这样:

response.xpath('//*[@id="mw-content-text"]/table[1:n]/tr/td[1]/a/@href').extract()

?

最佳答案

假设 n 是一个整数,您可以在 XPath 查询中使用 position(),如下所示:

'//*[@id="mw-content-text"]/table[position() <= {}]/tr/td[1]/a/@href'.format(str(n))

这将根据需要从前 n 个表中选择数据。

或者,您可以使用如下循环:

for i in range(5):
response.xpath('//*[@id="mw-content-text"]/table[{}]/tr/td[1]/a/@href'.format(str(i))).extract()

关于python - 如何使用 scrapy 选择表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34950362/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com