Scrapy爬虫 (1)爬取菜鸟Git教程目录

  1. 云栖社区>
  2. 博客>
  3. 正文

Scrapy爬虫 (1)爬取菜鸟Git教程目录

jclian91 2017-11-24 22:13:36 浏览984
展开阅读全文

  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的简洁与高效!期待下次分享^_^……



本次分享到此结束,欢迎大家批评与交流~~

网友评论

登录后评论
0/500
评论
jclian91
+ 关注