使用scarpy爬取文章并保存为json文本

        scarpy是python爬虫界最著名的框架,最近使用了下确实很方便,其底层使用的Twisted使用异步非阻塞的方式速度是相当的快(比自己用requests快多了),这里介绍下使用scarpy框架爬取文章和图片,并进行二层爬取文章的内容,然后以dict形式保存为json文件(也可以保存到其他存储介质,如数据库,其他文件存储介质)
    
        环境: python3.7   scarpy1.7.3  都是当前最新版

        安装: pip install scrapy=1.7.3

        创建项目:  scrapy startproject demospider

       
  一. 定义item(爬取的数据结构)
    编辑items.py文件,定义各项数据
    

点击(此处)折叠或打开

  1. import scrapy


  2. class TutorialItem(scrapy.Item):
  3.     # define the fields for your item here like:
  4.     # name = scrapy.Field()
  5.     link = scrapy.Field()
  6.     title = scrapy.Field()
  7.     text = scrapy.Field()
  8.     image_url = scrapy.Field()
  9.     author = scrapy.Field()
  10.     image_paths = scrapy.Field()
    二. 定义爬取方法
        这是最关键的一步,在这里将会解析获取到的html文本,使用scarpy自带的selector解析获取需要的数据。关于selector语法比较多,官方并没有给过多案例,推荐 https://www.jianshu.com/p/489c5d21cdc7, 虽然没有过多例子,但是理论比较全,想要的方法基本都可以找到。
        在spider目录下新建demo_spider.py文件
        

点击(此处)折叠或打开

  1. import scrapy
  2. from demospider.items import TutorialItem




  3. class ImageSpider(scrapy.Spider):

  4.     name = 'imagespider'       # 应用名,执行时使用
  5.     start_urls = [
  6.         'http://www.itpub.net/category/yunwei/'   # 可以写多个,分别进行爬取处理
  7.     ]

  8.     def parse(self, response):                #固定方法,response为每次处理后返回的html,这里主要处理采集第一层页面的数据
  9.         for article
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值