最近开始学习爬虫,接触到了scrapy这个框架,简直神器,也不用本身设置多进程啥的了,好用的飞起
看了挺多博客的介绍,感受崔庆才的文章写得很清晰,特别是scrapy的原理,通俗易懂,想看的能够移步到此处 ->css
对着官方的教程文档,作一点本身的解析。官方文档使用的是一个名人名言的网站,很适合练手。
废话少说,开整html
创建项目框架
D:\netspider>scrapy startproject getquotes
项目创建好了以后,目录如图所示scrapy
其余的文件先不用管,在spider这个文件夹中,创建爬虫文件,myspider.py,包含代码以下ide
import scrapy class myspider(scrapy.Spider): # 设置爬虫名称 name = "get_quotes" # 设置起始网址 start_urls = ['http://quotes.toscrape.com'] def parse(self, response): #使用 css 选择要素进行抓取,若是喜欢用BeautifulSoup之类的也能够 #先定位一整块的quote,在这个网页块下进行做者、名言,标签的抓取 for quote in response.css('.quote'): yield { 'author' : quote.css('small.author::text').extract_first(), 'tags' : quote.css('div.tags a.tag::text').extract(), 'content' : quote.css('span.text::text').extract_first() }
scrapy会默认先调用parse()函数进行url的request处理,由于parse()是scrapy的默认回调函数,须要覆写它来进行适配咱们的抓取任务。函数
该网站的元素定位仍是很清晰的:学习
运行结果以下:网站
成功将做者,名言内容,标签获取到。ui
我的比较喜欢使用xpath进行定位,两种方法均可以,有时候还须要结合使用。scrapy的基本使用方法就是这样,下一篇写一下循环获取与数据保存。url