如何使用Scrapy从多个页面中获取数据?

2024-05-19 07:42:26 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图用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)

Tags: nameinhttpsurlresponsepageextractcss
1条回答
网友
1楼 · 发布于 2024-05-19 07:42:26

你为什么认为你做错了什么?它有什么错误吗?如果是这样的话,输出应该首先包含在问题中。如果它没有达到你的预期,你应该告诉我们。在

总之,看看代码,至少有两个可能的错误:

  • allowed_domains应该只是一个域名,而不是完整的URL,如documented。在
  • 当您将新的Request交给下一页时,您应该使用callback=self.parse而不是{}以与第一个URL相同的方式处理响应

相关问题 更多 >

    热门问题