Python爬虫 (10)用Scrapy爬取菜鸟Git教程目录

  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教程目录,如下图:

《Python爬虫 (10)用Scrapy爬取菜鸟Git教程目录》 这里写图片描述

  首先我们先在当前目录下新建一个scrapy项目:scrapy_git,在终端输入如下命令:

scrapy startproject scrapy_git

再输入tree scrapy_git查看文件的树状结构:

《Python爬虫 (10)用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爬虫 (10)用Scrapy爬取菜鸟Git教程目录》 爬虫列表

  最后,输入以下命令即可运行该爬虫:(先要新建python.txt文件)

scrapy crawl toscrape-css

运行完后,查看python.txt文件,内容如下:
  

《Python爬虫 (10)用Scrapy爬取菜鸟Git教程目录》 python.txt

Bingo,我们的scrapy爬虫就运行成功啦!

  在这个爬虫中,我们其它文件都没有动,而仅仅只是新建了一个git_jc.py文件,足可见scrapy的简洁与高效!期待下次分享~~

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

    原文作者:但盼风雨来_jc
    原文地址: https://www.jianshu.com/p/e5c87cd79ae5
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞