Scrapy请求回调函数无响应求助:PyCharm代码运行异常
问题原因及修复方案
你的代码存在两处关键问题,导致回调函数无响应:
allowed_domains 格式错误
你设置的allowed_domains = ["hemnet.se/"]多了末尾的斜杠。Scrapy要求allowed_domains填写纯域名(不能带路径或斜杠),带斜杠会让Scrapy判定后续请求的域名不在允许范围内,直接过滤掉这些请求,自然不会触发parseInnerPage回调。
修复代码:allowed_domains = ["hemnet.se"]相对URL处理隐患
页面中提取的href可能是相对路径(比如/bostader/xxxx),直接用links.get()生成URL时,虽Scrapy通常会自动补全,但更稳妥的方式是用response.urljoin()生成绝对URL,避免路径解析错误:
修复代码:yield scrapy.Request(url=response.urljoin(links.get()), callback=self.parseInnerPage)
另外,print(response.text)在PyCharm控制台可能因内容过多被截断,建议改为打印关键信息测试,比如:
def parseInnerPage(self, response): print(f"成功访问页面:{response.url}") title = response.css('h1::text').get() print(f"页面标题:{title}")
内容的提问来源于stack exchange,提问作者Daniel
相关产品推荐
相关产品推荐

