真棒啊!Python 可以爬取大量免费小说!

2024-01-14 14:36

本文主要是介绍真棒啊!Python 可以爬取大量免费小说!,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

大家好!今天给你们带来了用requests编写的网页小说爬取工具。可以轻松爬取小说名和下载链接,仅供学习!

因反爬虫策略和网页会经常调整,可能会出现代码失灵的情况,如遇到问题,可以文末找我们交流。

代码案例:

import requests
from bs4 import BeautifulSoup
import urllib.parsedef get_novels(url, page_count):#发送GET请求获取页面内容response = requests.get(url)content = response.content.decode('gbk')#使用BeautifulSoup解析HTMLsoup = BeautifulSoup(content, 'html.parser')#查找所有符合条件的元素elements = soup.select('.pldal_r1_bt a')#使用一个集合保存已经处理过的链接和小说名processed_links = set()#遍历输出文本和链接for element in elements:# 获取小说名novel_name = element.text.strip()#获取li中a标签的链接href = element['href']if '/book/' not in href:continuelink_response = requests.get(urllib.parse.urljoin(url, href))link_content = link_response.content.decode('gbk')link_soup = BeautifulSoup(link_content, 'html.parser')#获取下载链接#download_element = link_soup.select_one('.dl_link_bd li a')if download_element:download_link = urllib.parse.urljoin(url, download_element['href'])else:download_element = link_soup.select_one('.dl_link_bd div a')if download_element:download_link = urllib.parse.urljoin(url, download_element['href'])else:download_link = "链接未找到"#判断链接和小说名是否已经处理过if (novel_name, download_link) in processed_links:continue#将链接和小说名添加到已处理集合中processed_links.add((novel_name, download_link))print(f"小说名:{novel_name}")print(f"下载链接:{download_link}")#获取下一页链接#next_page_link = None#next_page_element = soup.find('a', string='下一页')#if next_page_element:#next_page_link = urllib.parse.urljoin(url, next_page_element['href'])#继续爬取后续页数的小说名和链接if page_count > 1 and next_page_link:get_novels(next_page_link, page_count - 1)#爬取页数
page_count = 2
#链接设置
start_url = 'http://www.12z.cn/book/dushiyule/'
#开始
get_novels(start_url, page_count)
输出
小说名:《从笑星走向巨星》(校对版全本)
下载链接:http://www.12z.cn/plus/download.php?open=2&id=137&uhash=174cb03a1a79050f076804ab
小说名:[都市娱乐]
下载链接:链接未找到
小说名:《地府重临人间》(校对版全本)
下载链接:http://www.12z.cn/plus/download.php?open=2&id=126&uhash=2e3d1b01e4b29f7ccd7565e4
小说名:《神级巫医在都市》(校对版全本)
下载链接:http://www.12z.cn/plus/download.php?open=2&id=125&uhash=98ae6a3b72e9d485b64e5326
小说名:《终极教官》(校对版全本)
下载链接:http://www.12z.cn/plus/download.php?open=2&id=121&uhash=b48cdc8554488e739f5af8b5
小说名:《仙界网络直播间》(校对版全本)
下载链接:http://www.12z.cn/plus/download.php?open=2&id=120&uhash=09061038f69398d1b83551e5
小说名:《老婆是武林盟主》(校对版全本)
下载链接:http://www.12z.cn/plus/download.php?open=2&id=279&uhash=0fcf6a3d0800257139dc1fff
小说名:《夜的命名术》(校对版全本)
下载链接:http://www.12z.cn/plus/download.php?open=2&id=6902&uhash=593f27fca4d78e4040e5b6b3
小说名:《重生2011》(校对版全本)
下载链接:http://www.12z.cn/plus/download.php?open=2&id=6900&uhash=fdf80b6d9412f6d720280622
小说名:《我已不做大佬好多年》(校对版全本)
下载链接:http://www.12z.cn/plus/download.php?open=2&id=6896&uhash=3bf78814f52f8f39b723cd9e
小说名:[都市娱乐]
下载链接:链接未找到
小说名:《重生之似水流年》(校对版全本)
下载链接:http://www.12z.cn/plus/download.php?open=2&id=6880&uhash=48162b5465d2f63976c51a5d
小说名:《重生之金融巨头》(校对版全本)
下载链接:http://www.12z.cn/plus/download.php?open=2&id=6877&uhash=9aac2f935cb1b980656add7f
小说名:《平常人类的平凡生活》(校对版全本)
下载链接:http://www.12z.cn/plus/download.php?open=2&id=6876&uhash=7eff5a03a6cc70ffac282042
小说名:《从冒牌大学开始》(校对版全本)
下载链接:http://www.12z.cn/plus/download.php?open=2&id=6862&uhash=5fd229aa605fad0dfddd4f39
小说名:《寻宝从英伦开始》(校对版全本)
下载链接:http://www.12z.cn/plus/download.php?open=2&id=6851&uhash=52e3a3c78a2f87ec225a1af9
小说名:《无敌从仙尊奶爸开始》(校对版全本)
下载链接:http://www.12z.cn/plus/download.php?open=2&id=6840&uhash=1deaeef764535f9403b8f8e7
小说名:《超级农业强国》(校对版全本)
下载链接:http://www.12z.cn/plus/download.php?open=2&id=6837&uhash=04df41735193ff7dff5ecf45

技术交流

技术要学会分享、交流,不建议闭门造车。一个人可以走的很快、一堆人可以走的更远。

技术交流、资料干货、数据&源码,均可加交流群获取,群友已超过2000人,添加时最好的备注方式为:来源+兴趣方向,方便找到志同道合的朋友。

方式①、微信搜索公众号:Python学习与数据挖掘,后台回复: 交流
方式②、添加微信号:dkl88194,备注:来自CSDN +交流

毕设/大作业系列

  • 毕设/大作业:基于Python+Flask+MySQL的豆瓣电影可视化系统
  • 毕设/大作业:搭建基于 Python+Flask+MySQL 的学生培养计划管理系统(附源码)
  • 毕设/大作业:一款基于 Python+flask 的态势感知系统(附完整源码)
  • 毕设/大作业:基于 Python 的 Flask 框架开发的在线电影网站系统(附完整源码)
  • 毕设/大作业:基于 Echarts + Python Flask 动态实时大屏轻松可以实现
  • 毕设/大作业:基于 Python+Django 构建智能互动拍照系统
  • 毕设/大作业:基于 Python+Flask+SQLite 的网易云音乐评论情感分析系统
  • 毕设/大作业:基于 Python 和Surprise库,新手轻松搭建推荐系统
  • 毕设/大作业:基于 Python+Django+MySQL 数据库的租房数据可视化系统

这篇关于真棒啊!Python 可以爬取大量免费小说!的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/605506

相关文章

使用Python删除Excel中的行列和单元格示例详解

《使用Python删除Excel中的行列和单元格示例详解》在处理Excel数据时,删除不需要的行、列或单元格是一项常见且必要的操作,本文将使用Python脚本实现对Excel表格的高效自动化处理,感兴... 目录开发环境准备使用 python 删除 Excphpel 表格中的行删除特定行删除空白行删除含指定

Python通用唯一标识符模块uuid使用案例详解

《Python通用唯一标识符模块uuid使用案例详解》Pythonuuid模块用于生成128位全局唯一标识符,支持UUID1-5版本,适用于分布式系统、数据库主键等场景,需注意隐私、碰撞概率及存储优... 目录简介核心功能1. UUID版本2. UUID属性3. 命名空间使用场景1. 生成唯一标识符2. 数

Python办公自动化实战之打造智能邮件发送工具

《Python办公自动化实战之打造智能邮件发送工具》在数字化办公场景中,邮件自动化是提升工作效率的关键技能,本文将演示如何使用Python的smtplib和email库构建一个支持图文混排,多附件,多... 目录前言一、基础配置:搭建邮件发送框架1.1 邮箱服务准备1.2 核心库导入1.3 基础发送函数二、

Python包管理工具pip的升级指南

《Python包管理工具pip的升级指南》本文全面探讨Python包管理工具pip的升级策略,从基础升级方法到高级技巧,涵盖不同操作系统环境下的最佳实践,我们将深入分析pip的工作原理,介绍多种升级方... 目录1. 背景介绍1.1 目的和范围1.2 预期读者1.3 文档结构概述1.4 术语表1.4.1 核

基于Python实现一个图片拆分工具

《基于Python实现一个图片拆分工具》这篇文章主要为大家详细介绍了如何基于Python实现一个图片拆分工具,可以根据需要的行数和列数进行拆分,感兴趣的小伙伴可以跟随小编一起学习一下... 简单介绍先自己选择输入的图片,默认是输出到项目文件夹中,可以自己选择其他的文件夹,选择需要拆分的行数和列数,可以通过

Python中反转字符串的常见方法小结

《Python中反转字符串的常见方法小结》在Python中,字符串对象没有内置的反转方法,然而,在实际开发中,我们经常会遇到需要反转字符串的场景,比如处理回文字符串、文本加密等,因此,掌握如何在Pyt... 目录python中反转字符串的方法技术背景实现步骤1. 使用切片2. 使用 reversed() 函

Python中将嵌套列表扁平化的多种实现方法

《Python中将嵌套列表扁平化的多种实现方法》在Python编程中,我们常常会遇到需要将嵌套列表(即列表中包含列表)转换为一个一维的扁平列表的需求,本文将给大家介绍了多种实现这一目标的方法,需要的朋... 目录python中将嵌套列表扁平化的方法技术背景实现步骤1. 使用嵌套列表推导式2. 使用itert

使用Docker构建Python Flask程序的详细教程

《使用Docker构建PythonFlask程序的详细教程》在当今的软件开发领域,容器化技术正变得越来越流行,而Docker无疑是其中的佼佼者,本文我们就来聊聊如何使用Docker构建一个简单的Py... 目录引言一、准备工作二、创建 Flask 应用程序三、创建 dockerfile四、构建 Docker

Python使用vllm处理多模态数据的预处理技巧

《Python使用vllm处理多模态数据的预处理技巧》本文深入探讨了在Python环境下使用vLLM处理多模态数据的预处理技巧,我们将从基础概念出发,详细讲解文本、图像、音频等多模态数据的预处理方法,... 目录1. 背景介绍1.1 目的和范围1.2 预期读者1.3 文档结构概述1.4 术语表1.4.1 核

Python使用pip工具实现包自动更新的多种方法

《Python使用pip工具实现包自动更新的多种方法》本文深入探讨了使用Python的pip工具实现包自动更新的各种方法和技术,我们将从基础概念开始,逐步介绍手动更新方法、自动化脚本编写、结合CI/C... 目录1. 背景介绍1.1 目的和范围1.2 预期读者1.3 文档结构概述1.4 术语表1.4.1 核