zoukankan      html  css  js  c++  java
  • 如何丧心病狂的使用python爬虫读小说

    在这里插入图片描述

    写在前边

    其实一直想入门python很久了,慕课网啊,菜鸟教程啊python的基础的知识被我翻了很多遍了,但是一直没有什么实践。刚好,这两天被别人一直安利一本小说《我可能修的是假仙》,还在连载中的,我等屌丝,打钱是不可能打钱的,只好先去网上找一下资源了,基本笔趣阁啊,什么的提供很多在线的资源给我们。好吧,就看这个就行了,可是看也看得不爽啊,,浏览器上下部分都被什么 美女荷官在线发牌一夜不射提升半小时之类你懂的画面遮盖了,还经常误触,如果是在电脑上看,我们可以用ADBLOCK之类的广告插件屏蔽,可是手机浏览器貌似没有插件啊,那怎么办呢?我可是程序员啊,程序员怎么能向这种问题低头呢?

    解决方案

    我们把在线网页上的章节名和章节内容都保存下来,造一个离线的版本不就没这个问题了么?

    那怎么保存呢,这就需要我们的主角出场了,铛铛铛,python scrapy爬虫框架

    关于scrapy

    向大家推荐 一个好玩的有趣的牛逼的网站**scrapy中文教程**

    这个作者写的很有趣,摘录一下:

    本scrapy文档,主要是给诸君介绍一下神马是scrapy,scrapy能干神马,提提大伙的学习热情!scrapy是一个网页爬虫框架,神马叫做爬虫,如果没听说过,那就:内事不知问度娘,外事不决问谷歌,百度或谷歌一下吧!……(这里的省略号代表scrapy很牛逼,基本神马都能爬,包括你喜欢的苍老师……这里就不翻译了)

    爬虫代码

    import scrapy
    
    class firstdemo(scrapy.Spider):
    
        # 爬虫名称
        name = 'firstdemo'
        # 第一页
        start_urls= ['http://m.biquku.la/16/16889/578155.html']
        def parse(self,response):
            filename = '我可能修的是假仙.txt'
            # 章节名
            title = response.css('.zhong::text').extract_first()
            # 章节内容
            content = response.xpath("string(//article[@id='nr'])").extract()[0].replace('
    ','').replace('xa0','')
            self.log(title)
            with open(filename,"a+",encoding='utf-8') as f:
               f.write(title)
            #    添加章节目录
               f.write('
    ')
            #    添加换行(
    )是为了让txt阅读器识别章节目录
               f.write(content)
               f.write('
    ')
               f.close
            next_page = response.css('.nr_page a::attr(href)').extract()[2]
            if next_page is not None:
                next_page = 'http://m.biquku.la'+next_page
                yield scrapy.Request(next_page,callback=self.parse)
            else:
                self.log('已到最终章节')
    

    没想到吧,代码就这么多,具体的教程可以参见向大家推荐的那个网站。最后我们执行scrapy crawl firstdemo就开始爬取了。

    运行图

    最后

    最后?哪里有什么最后?都下载下来了,还不抓紧去看一下我们的战斗成果?

    当然还是要提醒诸位,学习为主,不要玩物丧志。

  • 相关阅读:
    SoapUI 使用笔记
    git 使用笔记(二)
    git 使用笔记(一)
    jquery 拓展
    hdu 1024 Max Sum Plus Plus (DP)
    hdu 2602 Bone Collector (01背包)
    hdu 1688 Sightseeing (最短路径)
    hdu 3191 How Many Paths Are There (次短路径数)
    hdu 2722 Here We Go(relians) Again (最短路径)
    hdu 1596 find the safest road (最短路径)
  • 原文地址:https://www.cnblogs.com/haorenergou/p/11665038.html
Copyright © 2011-2022 走看看