文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
12.4 创建爬虫模块
首先编写爬虫模块,爬虫模块的代码都放置于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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论