这是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来做到这一点。有没有办法区分第一个网址和第二个网址,这些网址允许我提取表格。
答案 0 :(得分:1)
您不需要在第一个xpath处提取链接。您可以按照我在第一行中显示的那样收集每个tab pane first
类,然后通过使用简单的for循环进入该类以提取链接。
links = response.xpath('//*[@class="tab pane first"]')
for link in links
a_link = link.xpath('./a/@href').extract()
yield {'Category Link': a_link}