【python】采集**本子,不要看了,快进来~

news/2024/10/25 8:17:02/

前言

大家早好、午好、晚好吖~

相信不少小伙伴都知道这个网站,特别是中二期得时候

博主我就看过,哈哈哈哈

今天我的得目的就是这个,咋来采集一下它

目录标题

    • 前言
    • 代码展示
    • 效果展示
    • 尾语 💝

代码展示

# 导入数据请求模块 --> 第三方模块 需要 pip install requests 
import requests
# 导入数据解析模块 --> 第三方模块 需要 pip install parsel
import parsel
# 导入正则模块 --> 内置模块 不需要安装
import re
from show import get_content

请求目录页url <复制>

本文只是大致展示,完整代码和视频教程点击下方蓝字

点击 蓝色字体 自取,我都放在这里了。

模拟浏览器对于 本子 目录页面url地址 发送请求

模拟浏览器 headers 请求头 字典数据类型 <复制>

headers = {# Cookie 用户信息, 检测是否有登陆账号 <登陆与否都是有cookie>'Cookie': '',# User-Agent 用户代理 表示浏览器基本身份信息'User-Agent': ''
}

发送请求

requests模块 get模块里面方法

response = requests.get(url=url, headers=headers)
print(response)

<Response [200]> 表示请求成功

“”"
2. 获取数据: 获取服务器返回响应数据

开发者工具 --> response

  • response.text 获取响应文本数据 网页源代码

3. 解析数据: 提取我们想要数据内容

提取本子名字 / 本子章节标题 / 本子章节url

解析数据方法:

  • xpath

  • css

  • re: 对于字符串数据直接提取的话

  • css选择器: 根据标签属性提取数据内容

转换数据类型

获取下来 response.text html字符串数据类型

get() 获取一个 返回字符串
getall() 获取多个 返回列表
“”"

转换数据类型, 可解析对象 <Selector xpath=None data='<html xmlns="http://www.w3.org/1999/x...'>

selector = parsel.Selector(response.text)

提取本子名字

name = selector.css('#novelName::text').get()

提取本子章节名字

titles = selector.css('.DivTd a::text').getall()

提取本子章节url

href = selector.css('.DivTd a::attr(href)').getall()

for循环遍历, 把列表里面元素一个一个提取出来

for link, title in list(zip(href, titles))[58:]:# https://b.faloo.com/631781_1.htmllink_url = 'https:' + linkprint(link_url, title)

“”"
4 / 5 发送请求, 获取数据
“”"

    html_data = requests.get(url=link_url, headers=headers).text

通过css提取数据 转换数据 可解析对象

    selector_1 = parsel.Selector(html_data)

提取本子内容

    content_list = selector_1.css('.noveContent p::text').getall()# join 是干嘛的?content = '\n'.join(content_list)

len() 统计元素个数 如果是付费章节, 里面数据只有

    if len(content) < 30:

“”"
关于某本子网站VIP章节内容 —> 图片形式

  1. 从章节url里面获取图片请求参数

  2. 保存图片二进制数据

  3. 通过百度云API接口 做一个文字识别, 读取图片的文字内容

  4. 保存数据

re.findall(‘匹配什么数据’, ‘从什么地方匹配’) 找到所有我们想要数据内容

从什么地方 去匹配什么数据

html_data 里面 去匹配 image_do3\((.*?)\) 其中 (.*?) 表示我们想要数据内容

- \ 转义字符, 把含有特殊含义字符, 转成除了本身字符以外不含有任何其他的意思

() 在正则里面表示精确匹配

  • 批量替换
    1. 选中替换内容 ctrl + R

    2. 勾选上 .* 正则

    3. 输入正则命令匹配数据替换

(.*?): (.*)
'$1': '$2',

“”"

通过正则匹配请求参数

        info = re.findall('image_do3\((.*?)\)', html_data)[0].split(',')

本文只是大致展示,完整代码和视频教程点击下方蓝字

点击 蓝色字体 自取,我都放在这里了。

        print(info)data = {'num': '0','o': '3','id': '631781','n': info[3],'ct': '1','en': info[4],'t': '0','font_size': '16','font_color': '666666','FontFamilyType': '1','backgroundtype': '0','u': '15576696742','time': '','k': info[6].replace("'", ''),}print(info[6].replace("'", ''))print(info[6].replace('"', ''))

发送请求获取图片二进制数据

        img_content = requests.get(url=vip_url, params=data, headers=headers).contentcontent = get_content(img_content)

7. 保存本子内容

    with open(name + '.txt', mode='a', encoding='utf-8') as f:"""第一章 章节名小说内容第二章 章节名小说内容"""# 写入章节名f.write(title)# 回车 换一行f.write('\n')# 写入小说内容f.write(content)# 回车 换一行f.write('\n')print(content)

效果展示


文章看不懂,我专门录了对应的视频讲解,本文只是大致展示,完整代码和视频教程点击下方蓝字

点击 蓝色字体 自取,我都放在这里了。

宁外给大家推荐一个好的教程:
【48小时搞定全套教程!你和大佬只有一步之遥【python教程】

尾语 💝

好了,我的这篇文章写到这里就结束啦!

有更多建议或问题可以评论区或私信我哦!一起加油努力叭(ง •_•)ง

喜欢就关注一下博主,或点赞收藏评论一下我的文章叭!!!

请添加图片描述


http://www.ppmy.cn/news/319211.html

相关文章

分享个哄女孩的桌面 轻量级 解压软件

好久没更新了 废话不多说直接上干货 视频没法上传&#xff0c;就直接截了图 这是一款轻量级的根据你鼠标移动 敲击 同步到桌面的解压神器 评论区 放资源 欢迎一键三连

WordPress主题Ripro子主题美化包wori-child 1.3+下载插件美化

介绍&#xff1a; 本子主题美化包无授权无暗链&#xff0c;使用本美化包前请先下载ripro主题&#xff08;建议使用正版&#xff09;&#xff0c;如若使用绿色版主题&#xff0c;请先用D盾扫描确保无加密无后门后再使用&#xff0c;如若使用有后门的绿色主题导致网站信息泄露&a…

java解压zip压缩包

坐在旁边的小伙伴问我怎么用 java 将服务器上的压缩文件解压出来&#xff0c;我索性给他写了个 demo &#xff0c;也顺手记录一下。亲测可用&#xff0c;如果觉得有帮助&#xff0c;欢迎点赞&#xff0c;评论&#xff0c;收藏&#xff0c;转发 java 实现解压 zip 压缩包 packag…

linux 解压7z的压缩包,解压多个拆分的压缩包

需求&#xff1a; 在Linux下解压7z压缩的压缩包该压缩包可以是由一个文件压缩生成的单个压缩包(case a)&#xff1b;也可以是由一个文件拆分打包生成的多个子压缩包(case b) 工具准备&#xff1a; sudo apt install p7zip-full命令&#xff1a; 需求a: 压缩包只有一个&#…

windows11 解压工具 7-zip

7-zip怎么用来解压 https://zhidao.baidu.com/question/927535174296525139.html 7-zip下载 https://jingyan.baidu.com/article/64d05a0262ee139f55f73b97.html 7-zip官网 7-Zip

7z解压软件(小巧好用)。百度云下载链接

今天想再安装这个程序的时候发现下载不了了。 还是挂了梯子下载的。。。&#xff08;无语&#xff09;。 特此分享百度云下载链接。 7z官网 7z官方中文网 个人百度云分享 提取码&#xff1a;wewe

【我下载好主题的压缩包以后要怎么弄下去】

问&#xff1a;我下载滑头鬼之孙win7电脑桌面主题后,有个压缩的文件,我就不知道怎么弄下去了谁能告诉我下载了电脑桌面主题之后怎么办啊&#xff1f; 答&#xff1a;解压后会有个*.Theme文件&#xff0c;*.Theme文件在放在我的文档里&#xff0c;“桌面-属性-主题”标签-有个下…

WinRAR的 安装与下载

WinRAR 安装与下载 一、简介 WinRAR 是一个强大的压缩文件管理工具。它能备份你的数据&#xff0c;减少你的 E-mail 附件的大小&#xff0c;解压缩从 Internet 上下载的 RAR、ZIP 和其他格式的压缩文件&#xff0c;并能创建 RAR 和 ZIP 格式的压缩文件。 二、下载 WinRAR下载…