因此,我正在使用scrapy进行一个小项目,并且对python和scrapy有点陌生。我正在尝试在此URL上删除有关每个公司的信息。https://www.canadianlawlist.com我创建一个表单请求并获取结果:https : //www.canadianlawlist.com/searchresult/?searchtype=firms&city=Montreal现在,我想为每个结果都刮除名称/电话等基本数据。但是链接完全变成了其他东西。类似于https://www.canadianlawlist.com/listingdetail/company/zsa-legal-recruitment-673544/。我试过拥有一个基本的URL:canadianlawlist.com,然后像这样附加href:basicurl = "canadianlawlist.com/" products = response.xpath('//*[@class="searchresult_item_regular"]/a/@href').extract() for p in products: url = urljoin(response.url, p) yield scrapy.Request(url, callback=self.parse_firm_info)但是我正在使用python 2并且可以使用urljoin(我认为)?有什么想法可以继续吗?
2 回答

陪伴而非守候
TA贡献1757条经验 获得超8个赞
Scrapy具有response.urljoin()此任务:
products = response.xpath('//*[@class="searchresult_item_regular"]/a/@href').extract()
for p in products:
url = response.urljoin(p)
yield scrapy.Request(url, callback=self.parse_firm_info)
添加回答
举报
0/150
提交
取消