爬虫是就是一个程序,这个程序的任务就是从给出的一组种子URL开始爬取网页,并通过网页间的链接爬取更多的网页,根据爬虫任务的需求,最终可能会爬取整个互联网的网页。
爬虫的工作机制如下图示:
URL就是网页的网址,种子URL就是爬虫要首先爬取的网页网址,确定你的爬虫程序首先从哪些网页开始爬取。一组种子URL是指一个或多个的网页地址。
爬虫程序开始工作后,种子URL会先加入到待爬取网页的队列中,爬虫程序从队列按照先进先出的原则获取网页URL,爬虫程序开始爬取网页,爬虫会下载整个网页内容,然后提取网页内容,分析出网页内容包含的URL,并把新的URL加入到队列。
当队列为空时,爬虫停止工作,否则爬虫会继续从队列获取网页URL,爬取下一个网页。
以我爬取中小企业管理与科技杂志社这个网站举例来说
(1)创建爬虫项目
使用Scrapy实现爬虫,需要创建一个新的Scrapy项目。创建一个Scrapy项目非常简单,使用Scrapy命令行工具就可以创建Scrapy项目,Scrapy命令行工具可以运行在Windows的命令行窗口或Linux的终端窗口。
(2)定义要抓取的数据
开发爬虫的目的是要爬取网站数据,并提取出结构化数据。要做的第一步工作就是根据要爬取的网站内容构成,定义一个结构化数据,存储从网站提取的数据。
(3)运行爬虫
当前创建的SpiderNewsbaiduSpider爬虫还是非常简单的,在爬虫内并没有处理网页内新闻条目外的超链接,因此爬虫处理完该网页内容后,就会自行结束爬取过程。随着对scrapy框架的深入了解,会逐渐完善SpiderNewsbaiduSpider爬虫。
现在可以运行爬虫了,爬取的数据暂时存储到json文件,在后面的课程会存储到数据库。
后续的内容更加精彩,敬请关注。