Scrapy作为爬虫利器,是一个很好的Pyhon爬虫框架,现在也已经支持Python3了。具体的安装过程可以参考:http://www.yiibai.com/scrapy/scrapy_environment.html 。关于srapy的具体介绍,可以参考网址:https://docs.scrapy.org/en/latest/ 。
本文将介绍一个极为简单的例子,通过该例子来帮读者快速进入scrapy的世界,并会持续更新,做进一步的深入研究。本文的scrapy版本为1.0.3-1,python版本为2.7.12.
我们要爬取的页面为菜鸟教程的Git教程目录,如下图:
首先我们先在当前目录下新建一个scrapy项目:scrapy_git,在终端输入如下命令:
scrapy startproject scrapy_git
再输入tree scrapy_git查看文件的树状结构:
接着切换到spider目录,并新建文件:git_jc.py,代码如下:
import scrapy
class ToScrapeCSSSpider(scrapy.Spider):
name = "toscrape-css"
start_urls = ['http://www.runoob.com/git/git-tutorial.html',]
def parse(self,response):
with open('/home/vagrant/python.txt', 'w') as f:
for i in range(1,12):
text = response.xpath('//*[@id="leftcolumn"]/a[%d]/text()'%i).extract()[0].encode("utf-8").strip('\n').strip('\t')
f.write(text+'\n')
其中,toscrape-css为爬虫的名字,十分重要。start_urls为爬取的网页网址。定义parse()函数,将爬取到的目录写入/home/vagrant/python.txt中。在本代码中,采用xpath定位网页元素,当然也可以用css定位。
用xpath定位网页元素的具体方法是:选中想要的元素,右击,选中检查(N),在弹出的网页源代码中,右击,选中copy,再选copy XPath,然后粘贴即可。
利用scrapy list可以查看可用的爬虫的名称:
最后,输入以下命令即可运行该爬虫:(先要新建python.txt文件)
scrapy crawl toscrape-css
运行完后,查看python.txt文件,内容如下:
Bingo,我们的scrapy爬虫就运行成功啦!
在这个爬虫中,我们其它文件都没有动,而仅仅只是新建了一个git_jc.py文件,足可见scrapy的简洁与高效!期待下次分享^_^……
本次分享到此结束,欢迎大家批评与交流~~