如何从我们正在抓取的网页上的链接网页抓取数据

2024-05-15 22:50:57 发布

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

我在这个网页上爬行学院的名称,但是,我也想爬行在这些学院,这是可用的,如果打开特定的网页点击学院的名称学院的院系数量。你知道吗

我应该向这个代码添加什么来得到结果。 结果的形式应为[(名称1,教员1),(名称2,教员2),。。。]你知道吗

import scrapy
class QuotesSpider(scrapy.Spider):
    name = "student"
    start_urls = [
        'http://www.engineering.careers360.com/colleges/list-of-engineering-colleges-in-karnataka?sort_filter=alpha',
    ]

    def parse(self, response):
        for students in response.css('li.search-result'):
            yield {
                'name': students.css('div.title a::text').extract(),                   
            }

Tags: 代码namein名称网页数量responsecss
1条回答
网友
1楼 · 发布于 2024-05-15 22:50:57
import scrapy
class QuotesSpider(scrapy.Spider):
    name = "student"
    start_urls = [
        'http://www.engineering.careers360.com/colleges/list-of-engineering-colleges-in-karnataka?sort_filter=alpha',
    ]

    def parse(self, response):
        for students in response.css('li.search-result'):
            req = scrapy.Request(students.css(SELECT_URL), callback=self.parse_student)
            req.meta['name'] = students.css('div.title a::text').extract()
            yield req

    def parse_student(self, response):
        yield {
            'name': response.meta.get('name')
            'other data': response.css(SELECTOR)
        }

应该是这样的。 所以你在请求的元数据中发送学生的名字。 允许你在下一个请求中请求它。你知道吗

如果您在parse_student中刮取的最后一页上也有数据,您可能希望考虑不在元数据中发送它,而只是从最后一页刮取它。你知道吗

相关问题 更多 >