• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

Python:小说下载神器一看小说怎么能少了这款宝藏神器呢全网小说书籍随便下,随便看,爆赞你准备好了吗

武飞扬头像
嗨!栗子同学
帮助1

前言

这次的是一个系列内容

给大家讲解一下何一步一步实现一个完整的实战项目案例系列之

小说下载神器(GUI界面化程序)

我是爱看小说的栗子同学。

所有文章完整的素材 源码都在👇👇

有多少人,喜欢在寂静无声的夜晚,悄悄掩上房门,倚坐在床头边,抱着手机,借着那微弱的

光亮,沉浸在看小说中,时而泣涕涟涟不尽惆怅,时而嘴角上扬喜不自胜

慢慢地,慢慢地愈发沉浸在看小说中······

看小说能满足我们的内心的欲望,对美好的憧憬。不仅娱乐还可以放松心情,小编就喜欢看小

说啦~

学新通

学新通

一千个人眼中有一千个哈姆雷特,所以在喜欢看小说这件事情中,不同的人也会有不同的理

由。那你的理由又是什么呢?

的系列文章开始啦!本次内容先讲解三个内容:

爬虫基本思路流程——单章小说下载,发送请求&获取数据——单章小说下载—解析数据。

希望大家喜欢看小说 ,喜欢学习Python编程的都不要错过这次的内容啦!

学新通

正文

1)爬虫基本思路流程

一、什么是爬虫?

按照一定的规则, 去采集互联网上面数据 。

二、爬虫可以做什么? 

 采集数据: 定制化采集数据 自动化脚本: 自动点赞/评论/刷票/商品抢购脚本/自动发送弹幕等。

三、爬虫基本实现思路?

 一. 数据来源分析 

 1. 明确需求: 采集的网站是什么?

 https://www.biqudu.net/1_1631/3047505.html  

采集的数据是什么? 标题/内容 

 2. 分析 标题/内容 是从哪里来的 ?

 通过浏览器自带工具: 开发者工具抓包分析 。

打开开发者工具: F12 / 鼠标右键点击检查选择network - 刷新网页 - 搜索数据, 找到数据包。   

 https://www.biqudu.net/1_1631/3047505.html

四、代码实现步骤: 

 1. 发送请求, 模拟浏览器对于url地址发送请求 。

 请求链接: https://www.biqudu.net/1_1631/3047505.html

 2. 获取数据, 获取服务器返回响应数据内容 开发者工具: response 。

 3. 解析数据, 提取我们想要的数据内容 标题/内容 4. 保存数据, 把数据保存本地文件。

2)单章小说下载,发送请求&获取数据

一、代码实现

  1.  
    """
  2.  
    # 导入数据请求模块 --> 第三方模块, 需要安装
  3.  
    import requests
  4.  
    """
  5.  
    1. 发送请求, 模拟浏览器对于url地址发送请求
  6.  
    请求链接: https://www.biqudu.net/1_1631/3047505.html
  7.  
    安装模块方法:
  8.  
    - win R 输入cmd, 输入安装命令 pip install requests
  9.  
    - 在pycharm终端, 输入安装命令
  10.  
    模拟浏览器 headers 请求头:
  11.  
    字典数据结构
  12.  
    AttributeError: 'set' object has no attribute 'items'
  13.  
    因为headers不是字典数据类型, 而是set集合
  14.  
    """
  15.  
    # 请求链接
  16.  
    url = 'https://www.biqudu.net/1_1631/3047505.html'
  17.  
    # 模拟浏览器 headers 请求头
  18.  
    headers = {
  19.  
    # user-agent 用户代理 表示浏览器基本身份信息
  20.  
    'user-agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.0.0 Safari/537.36'
  21.  
    }
  22.  
    # 发送请求
  23.  
    response = requests.get(url=url, headers=headers)
  24.  
    # <Response [200]> 响应对象, 表示请求成功
  25.  
    print(response)
  26.  
    """
  27.  
    2. 获取数据, 获取服务器返回响应数据内容
  28.  
    开发者工具: response
  29.  
    response.text --> 获取响应文本数据 <网页源代码/html字符串数据>
  30.  
    """
  31.  
    print(response.text)
学新通

学新通二、效果展示

学新通

3)单章小说下载—解析数据

一、代码实现

  1.  
    """
  2.  
    # 导入数据请求模块 --> 第三方模块, 需要安装
  3.  
    import requests
  4.  
    # 导入正则表达式模块 --> 内置模块, 不需要安装
  5.  
    import re
  6.  
    # 导入数据解析模块 --> 第三方模块, 需要安装
  7.  
    import parsel
  8.  
    """
  9.  
    1. 发送请求, 模拟浏览器对于url地址发送请求
  10.  
    请求链接: https://www.biqudu.net/1_1631/3047505.html
  11.  
    安装模块方法:
  12.  
    - win R 输入cmd, 输入安装命令 pip install requests
  13.  
    - 在pycharm终端, 输入安装命令
  14.  
    模拟浏览器 headers 请求头:
  15.  
    字典数据结构
  16.  
    AttributeError: 'set' object has no attribute 'items'
  17.  
    因为headers不是字典数据类型, 而是set集合
  18.  
    """
  19.  
    # 请求链接
  20.  
    url = 'https://www.biqudu.net/1_1631/3047505.html'
  21.  
    # 模拟浏览器 headers 请求头
  22.  
    headers = {
  23.  
    # user-agent 用户代理 表示浏览器基本身份信息
  24.  
    'user-agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.0.0 Safari/537.36'
  25.  
    }
  26.  
    # 发送请求
  27.  
    response = requests.get(url=url, headers=headers)
  28.  
    # <Response [200]> 响应对象, 表示请求成功
  29.  
    print(response)
  30.  
    """
  31.  
    2. 获取数据, 获取服务器返回响应数据内容
  32.  
    开发者工具: response
  33.  
    response.text --> 获取响应文本数据 <网页源代码/html字符串数据>
  34.  
    3. 解析数据, 提取我们想要的数据内容
  35.  
    标题/内容
  36.  
     
  37.  
    re正则表达式: 是直接对于字符串数据进行解析
  38.  
    re.findall('什么数据', '什么地方') --> 从什么地方, 去找什么数据
  39.  
    .*? --> 可以匹配任意数据, 除了\n换行符
  40.  
    # 提取标题
  41.  
    title = re.findall('<h1>(.*?)</h1>', response.text)[0]
  42.  
    # 提取内容
  43.  
    content = re.findall('<div id="content">(.*?)<p>', response.text, re.S)[0].replace('<br/><br/>', '\n')
  44.  
     
  45.  
    css选择器: 根据标签属性提取数据
  46.  
    .bookname h1::text
  47.  
    类名为bookname下面h1标签里面文本
  48.  
    get() --> 提取第一个标签数据内容 返回字符串
  49.  
    getall() --> 提取多个数据, 返回列表
  50.  
    # 提取标题
  51.  
    title = selector.css('.bookname h1::text').get()
  52.  
    # 提取内容
  53.  
    content = '\n'.join(selector.css('#content::text').getall())
  54.  
     
  55.  
    xpath节点提取: 提取标签节点提取数据
  56.  
     
  57.  
    """
  58.  
    # 获取下来response.text <html字符串数据>, 转成可解析对象
  59.  
    selector = parsel.Selector(response.text)
  60.  
    # 提取标题
  61.  
    title = selector.xpath('//*[@class="bookname"]/h1/text()').get()
  62.  
    # 提取内容
  63.  
    content = '\n'.join(selector.xpath('//*[@id="content"]/text()').getall())
  64.  
    print(title)
  65.  
    print(content)
学新通

学新通二、效果展示

学新通

总结

最后,栗子温馨提示,对于看小说。各位小伙伴要取之有度,用之有节吖!

万不可沉溺于小说哦!(白天看晚上看熬夜看不可取啦)可能说的就是我 23333。

✨完整的素材源码等:可以滴滴我吖!或者点击文末hao自取免费拿的哈~

 🔨推荐往期文章——

项目1.3 

【Python实战】美哭你的极品壁纸推荐|1800 壁纸自动换?美女动漫随心选(高清无码)

项目1.6  【Python实战】听书就用它了:海量资源随便听,内含几w书源,绝对精品哦~

项目1.8 【Python实战】海量表情包炫酷来袭,快来pick斗图新姿势吧~(超好玩儿)

项目2.0

【Python爬虫 数据分析实战】Python采集北上广深天气数据,制作可视化动图—“天冷了就该钻被窝早睡觉啦~”项目1.9  【Python实战】“特种兵”们的专属游戏助手,助你吃鸡:极品小助手也是棒呆了~(“大吉大利,今W吃鸡”)

🎁文章汇总——

Python文章合集 | (入门到实战、游戏、Turtle、案例等)

(文章汇总还有更多你案例等你来学习啦~源码找我即可免费!)    

学新通

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhgcjfge
系列文章
更多 icon
同类精品
更多 icon
继续加载