python爬虫之类的简单使用-----获取单页网页的小说内容保存本地

前面使用类的方法获取了html的源代码,经过漫长且挫折的学习,终于使用类的方法获取到了单页网页的小说内容。
爬取的为斗罗大陆的小说的第三章,后面还会爬取整部小说。敬请期待。。。

# 导入第三方库
import requests
from fake_useragent import UserAgent
import re
import time
# 创建一个小说类
class Novel():
    # 初始化对象,设置请求的url,请求头
    def __init__(self):
        self.url = 'http://www.quanshuwang.com/book/44/44683/15379612.html'
        ua = UserAgent()
        self.headers = {'useragent': ua.random}

    # 定义得到html文本的方法
    def get_html(self):
        time.sleep(1)
        # 网页解码方式为gbk方式解码
        html = requests.get(self.url, headers = self.headers).content.decode('gbk')
        return html

    # 定义得到文字文本的方法
    def download(self,html):
        # 编写正则表达式,自带的括号要转义,否则匹配为空
        paser = re.compile(r'<script type="text/javascript">style5\(\);</script>(.*?)<script type="text/javascript">style6\(\);</script></div>', re.S)
        paser = re.findall(paser,html)
        # 返回paser,类型为列表形式
        return paser

    # 定义保存文本的fangf
    def save_novel(self,paser):
        # 遍历列表,转换为字符串
        for paser in paser:
            # 替换文本中看不懂得内容为空
            paser = paser.replace('&nbsp;','')
            paser = paser.replace('<br />','')
            # 保存文本
            with open('小说.txt','w',encoding='gbk') as f:
                f.write(paser)

    # 定义一个运行方法
    def run(self):
        # 传递参数
        html = self.get_html()
        paser = self.download(html)
        self.save_novel(paser)

# 实例化对象及调用
if __name__ == '__main__':
    novel_spider = Novel()
    novel_spider.run()

爬取结果:
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值