这是link 。当您单击第一个链接(“附件和流体”)时,会在同一页面上打开一个包含其他链接的新表格,单击其他链接,您将与表格进行交互。问题是第一个链接与第二个链接具有相同的 xpath,尽管它们都有不同的 url,但是我如何区分这两个链接以便我可以提取表格。
每当您从上一页移动到此页面时,此 xpath 只会生成第一个链接部分:
sp_half=response.xpath('//li[@class="tab pane first"]/a/@href').extract_first()
虽然这个生成了该页面的所有链接,也包含其他链接。
urls=response.xpath('//li/a/@href').extract()
第二个 xpath 正在生成带有许多额外链接的所需 url。我正在使用 scrapy 来做到这一点。有什么方法可以区分第一个网址和第二个网址,以便我提取表格。
最佳答案
您不需要提取第一个 xpath 处的链接。您可以先收集每个选项卡 Pane
类,如我在第一行中所示,然后进入该类以使用简单的 for 循环提取链接。
links = response.xpath('//*[@class="tab pane first"]')
for link in links
a_link = link.xpath('./a/@href').extract()
yield {'Category Link': a_link}
关于python - 如果页面下方存在某种链接循环,如何从网站中抓取数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49964710/