返回介绍

12.4 创建爬虫模块

发布于 2024-01-26 22:39:51 字数 1209 浏览 0 评论 0 收藏 0

首先编写爬虫模块,爬虫模块的代码都放置于spiders文件夹中。爬虫模块是用于从单个网站或者多个网站爬取数据的类,其应该包含初始页面的URL,以及跟进网页链接、分析页面内容和提取数据函数。创建一个Spider类,需要继承scrapy.Spider类,并且定义以下三个属性:

1)name:用于区别Spider。该名字必须是唯一的,不能为不同的Spider设定相同的名字。

2)start_urls:它是Spider在启动时进行爬取的入口URL列表。因此,第一个被获取到的页面的URL将是其中之一,后续的URL则从初始的URL的响应中主动提取。

3)parse():它是Spider的一个方法。被调用时,每个初始URL响应后返回的Response对象,将会作为唯一的参数传递给该方法。该方法负责解析返回的数据(response data)、提取数据(生成item)以及生成需要进一步处理的URL的Request对象。

现在创建CnblogsSpider类,保存于cnblogSpider/spiders目录下的cnblogs_spider.py文件中,代码如下:

  # coding:utf-8
  import scrapy
  class CnblogsSpider(scrapy.Spider):
     name = "cnblogs"# 爬虫的名称
     allowed_domains = ["cnblogs.com"]# 允许的域名
     start_urls = [
       "http://www.cnblogs.com/qiyeboy/default.htmlpage=1"
     ]
     def parse(self, response):
       # 实现网页的解析
       pass

这时候一个爬虫模块的基本结构搭建起来了,现在的代码只是实现了类似网页下载的功能。在命令行中切换到项目根目录下,如D:\cnblogs\cnblogSpider,在此目录下执行下列命令启动spider:

  scrapy crawl cnblogs

效果如图12-6所示。crawl cnblogs的含义就是启动名称为cnblogs的爬虫。

图12-6 运行cnblogs爬虫

图中线框的位置是爬取起始URL时的打印信息。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文