我试图用Scrapy从多个页面中获取数据。我在思考下面的代码,我做错了什么?在
import scrapy
class CollegeSpider(scrapy.Spider):
name = 'college'
allowed_domains = ['https://engineering.careers360.com/colleges/list-of-engineering-colleges-in-India?sort_filter=alpha']
start_urls = ['https://engineering.careers360.com/colleges/list-of-engineering-colleges-in-India?sort_filter=alpha/']
def parse(self,response):
for college in response.css('div.title'):
if college.css('a::text').extract_first():
yield {'college_name':college.css('a::text').extract_first()}
next_page_url=response.css('li.page-next>a::attr(href)').extract_first()
next_page_url=response.urljoin(next_page_url)
yield scrapy.Request(url=next_page_url,callback=self.praise)
你为什么认为你做错了什么?它有什么错误吗?如果是这样的话,输出应该首先包含在问题中。如果它没有达到你的预期,你应该告诉我们。在
总之,看看代码,至少有两个可能的错误:
allowed_domains
应该只是一个域名,而不是完整的URL,如documented。在Request
交给下一页时,您应该使用callback=self.parse
而不是{相关问题 更多 >
编程相关推荐