使用 Scrapy 爬取页面数据需要编写一个爬虫类,该爬虫类要继承 scrapy.Spider 类。在爬虫类中定义要请求的网站和链接、如何从返回的网页提取数据等等。在 scrapy 项目中可能会有多个爬虫,name 属性用于标识每个爬虫,各个爬虫类的 name 值不能相同。

import scrapy


class ShiyanlouCoursesSpider(scrapy.Spider):
    '使用 scrapy 爬取页面数据需要编写一个爬虫类,该爬虫类要继承 scrapy.Spider 类
    在爬虫类中定义要请求的网站和链接、如何从返回的网页提取数据等等
    在 scrapy 项目中可能会有多个爬虫,name 属性用于标识每个爬虫,各个爬虫类的 name 值不能相同
    '
    name = 'shiyanlou-courses'

    # 注意此方法的方法名字是固定的,不可更改
    def start_requests(self):
        '此方法需要返回一个可迭代对象,迭代的元素是 scrapy.Request 对象
        可迭代对象可以是一个列表或者迭代器,这样 scrapy 就知道有哪些网页需要爬取了
        scrapy.Request 接受一个 url 参数和一个 callback 参数
        url 指明要爬取的网页
        callback 是一个回调函数,用于处理返回的网页,它的值通常是一个提取数据的 parse 方法
        '

    # 注意此方法的方法名字也是固定的,不可更改
    def parse(self, response):
        '这个方法作为 scrapy.Request 的 callback ,在里面编写提取数据的代码
        scrapy 中的下载器会下载 start_reqeusts 中定义的每个 Request
        并且将结果封装为一个 response 对象传入这个方法
        '
        pass

这里所说的需要编写一个爬虫类继承scrapy.Spider类是不是指ShiyanlouCoursesSpider内容:是的,需要编写一个爬虫类继承scrapy.Spider类,并在该类中定义要请求的网站和链接、如何从返回的网页提取数据等等。在上面的代码中,ShiyanlouCoursesSpider类就是一个继承自scrapy.Spider的爬虫类。

使用 Scrapy 编写爬虫:入门教程

原文地址: https://www.cveoy.top/t/topic/fdmh 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录