首页 > 解决方案 > 当href ='#'在scrapy中时有什么方法可以处理?

问题描述

在努力从名为 timesjob 的网站上抓取所有内容时,我无法访问该网站中的下一页,因为页面国家类中的 href 显示为href = '#',在这里我无法访问此类超链接。所以我无法从所有页面中抓取数据是否有任何方法可以解决获取确切超链接的问题,如果是,请回答。谢谢。我试图访问的链接是https://www.timesjobs.com/candidate/job-search.html?searchType=personalizedSearch&from=submit&txtKeywords=python&txtLocation=bangalore

标签: pythonweb-scrapingscrapy

解决方案


值得注意的是,您也可以使用结果大小。我很幸运在这里的一页上获得了 1000 个。这可能会对您有很大帮助。我尝试了 3400,但它失败了,你必须尝试找出限制。无论哪种方式,这应该使您的任务变得更容易。

https://www.timesjobs.com/candidate/job-search.html?from=submit&actualTxtKeywords=python&searchBy=0&rdoOperator=OR&searchType=personalizedSearch&txtLocation=bangalore&luceneResultSize=1000&postWeek=60&txtKeywords=python&pDate=I&sequence=2&startPage=1

这并不能解决导航到 # 的问题,但它确实解决了抓取所有结果的问题。另外,请注意 startpage 始终保持在 1 并且它们使用序列变量进行分页。

start_urls = ['https://www.timesjobs.com/candidate/job-search.html?from=submit&actualTxtKeywords=python&searchBy=0&rdoOperator=OR&searchType=personalizedSearch&txtLocation=bangalore&luceneResultSize=1000&postWeek=60&txtKeywords=python&pDate=I&sequence={}&startPage=1']

def start_requests(self):
    for i in range(1, 4):
        yield scrapy.Request(self.start_urls[0].format(i), callback=self.parse)

推荐阅读