Python——爬取小说网站的整本小说

news/2024/5/13 9:24:41/文章来源:https://blog.csdn.net/tingyu_/article/details/104232841

编译环境:pycharm

需要的库:requests,lxml,bs4,BeautifulSoup,os

思路如下:

 

  • 首先可以先建立一个文件,使用os库中的os.makedirs("文件名;

if not os.path.exists("福妻高照"):os.makedirs("福妻高照")

找到你想要下载的那篇小说,在这里我是在百度上搜索小说网站后,随便选择了一个小说网站:起点女生网,找了一篇小说(本周强推《福妻高照》),复制得到小说链接,随后对该网站进行解析,常用步骤如下:

url="https://book.qidian.com/info/1016755751#Catalog"
req=requests.get(url=url)
req.encoding="utf-8"
print("响应码",req.status_code)
html=req.text
bf=BeautifulSoup(html,"lxml")

随后是如何找到自己想要的东西,步骤如下(可能存在差异,网站不同,标签的使用可能不同):

  • 点击一本小说,找到目录部分:点击鼠标右键,点击审查元素,在Elements中可以获得网站的h5源码,

  • 点击左上角的这个(上图箭头所指部分),点中之后可以看到它变成蓝色了啦,然后在这个小箭头变成蓝色后,随便找到一个目录,点击一下,在源码中就会直接选中该部分在源码中的位置,然后在这个基础上,去找它上一级的块,(最好找到的是有class的块,如果上一级没有class,可以再往上找)

  • 找到ul 中的内容后,再对这一块进行解析,不过需要注意的是,find_all获取的内容是存放在列表中的,需要获取这个列表的内容,将其强制转换成字符串类型后才能对其进行解析,

  • 在这一步的解析中,打开一个li标签,会看到每一章小说的链接是存放在a标签下的href中的,可以解析获取所有章节目录ul 块下li 的a标签,将其存放在一个列表中,这样就得到了一个章节名和章节链接的列表,对这个列表进行遍历,一章一章的对具体章节的小说内容进行获取,

  • 对于具体章节的小说内容进行获取的时候,在for循环中,获取每一项的章节名称和章节链接,将名字和链接传入下载单章小说的函数中。传入名字是为了定义每一章小说下载后存放文件,传入练级诶是为了下载;

  • 一般情况下,这个链接是不完整的,需要进行一定的拼接(观察打印出的链接少哪一部分,然后使用字符串拼接的方式拼接一下即可)。(以防在向函数传数据的时候传不进去,可以先打印一下,检查是否获取了正确的名字和链接)。

  • 获取了章节小说的链接之后,对其进行解析,获得小说内容所在的块,提取出文本即可,这一部分详看博客Python——爬取单章小说内容

 

具体代码如下:

import requests
# import lxml
from bs4 import BeautifulSoup
import os
if not os.path.exists("福妻高照"):os.makedirs("福妻高照")
url="https://book.qidian.com/info/1016755751#Catalog"
req=requests.get(url=url)
req.encoding="utf-8"
print("响应码",req.status_code)
html=req.text
bf=BeautifulSoup(html,"lxml")
# print(bf)
ul=bf.find_all("ul",class_="cf")
# print(ul)
bf1=BeautifulSoup(str(ul[0]),"lxml")
# print(bf1)
a_list=bf1.find_all("a")
# print(a_list)
def getDanzData(name,url):name=name+".txt"url="https:"+urlreq=requests.get(url=url)req.encoding="utf-8"html=req.textbf=BeautifulSoup(html,"lxml")# print(bf)div = bf.find_all("div", class_="read-content j_readContent")# print(div)txt=div[0].textwith open("福妻高照/%s"%name,"w",encoding="utf-8")as file:file.write(txt)file.close()print("%s下载成功"%name)
for item in a_list:name=item.stringurl=item.get("href")getDanzData(name,url)

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_867160.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Mac使用SSH访问公司内网网站

在公网或者在家里如何访问公司内部网站? 其实一个方案是:使用ssh,socket代理进行访问。 当然如果公司有相关的隧道,那直接使用隧道进行连接访问。 需求背景如下: 本地电脑(或者家里或者公网) -> 连接公司内网的网站(http://192…

研发高频软件,工具,网站,体验飞一般的感觉。

直入主题 看一下阿里系研发流程举例,这基本上也是互联网大厂的研发流程了。 Tip:如果从开发的角度去总结的话就会跳过一些软件,比如提出需求这个其实一般都是文档类的,wiki这样的形式。 概要设计: 概要设计&#x…

洗礼灵魂,修炼python(67)--爬虫篇—cookielib之爬取需要账户登录验证的网站

学完前面的教程,相信你已经能爬取大部分的网站信息了,但是当你爬的网站多了,你应该会发现一个新问题,有的网站需要登录账户才能看到更多的信息对吧?那么这种网站怎么爬取呢?这些登录数据就是今天要说的——…

做网站优化运营,如何才能获得优质的外链呢?

昨天冬镜给大家讲到网站优化中外链会对关键词排名产生影响,想必大家都在思考怎么去获得外链,而外链又分为普通外链和优质外链,垃圾外链肯定不是我们想要获得的。今天,冬镜就和大家聊聊在做网站优化中如何获得优质的外链&#xff1…

外链对网站优化中的关键词排名影响有多大?

近年来,随着搜索引擎算法的不算升级,很多站长认为做网站优化的难度越来越大,关于这一点呢,冬镜也不知道说什么好。网站优化之所以越来越难,一方面是因为算法升级,钻算法漏洞的机会越来越少,一部分人就认为网…

2019年最新最全的医疗网站优化方案

今天冬镜就给大家讲讲2019年医疗网站应该如何优化? 医疗网站相比其他行业来说优化难度会更大,尤其是在百度魏则西事件后,医疗网站排名就出现了百度人工干预网站排名。 现在基本上随便搜索一个地域性的医疗关键词,你会发现百度首页…

seo是什么?学好seo有什么用呢?

SEO(Search Engine Optimization):搜索引擎优化,即是利用搜索引擎的搜索算法规则来提高网站的自然排名 一、seo是什么 答:小编认为seo是指在了解搜索引擎优化自然排名算法的基础上,对网站进行内部和外部的…

【冬镜网】2019年应该如何衡量网站优化运营效果?

做过网站优化运营的站长应该都清楚,最终是需要衡量网站优化的工作成效,那么,大家清楚网站优化效果应该如何衡量吗?今天,冬镜就和大家一起聊聊怎么衡量网站优化的效果。 一、什么是网站优化 网站优化其实有可以叫做搜索…

网站不收录怎么办,试试冬镜教你的这几招!

博客停更了快四个月了,或许是冬镜堕落了吧,今天和大家聊聊网站收录的问题。今年做网站优化聊得最多的就是收录问题,目前这个问题算是网站优化行业最头疼的。导致网站不收录的原因也是有很多,百度搜索引擎频繁出故障(索…

2021年垃圾网站为什么还受搜索引擎偏爱?

2021年在大不分网站都不收录,排名差的情况下,为什么搜索引擎还是在乎垃圾网站?主要原因在于对垃圾网站的打击上,SEO人员缺乏足够的认识。 1、什么是垃圾网站? 一个笼统的说法就是网站质量差的就是垃圾网站。那怎么评判…

网站优化中为什么说排名第一就是品牌?

何为品牌?是指用户对产品及产品系列的认知程度。品牌的本质是品牌拥有者的产品、服务或其它优于竞争对手的优势能为目标用户带去同等或高于竞争对手的价值。通俗一点来说,就是让别人能快速对你有印象。 1、为什么要做品牌 这里冬镜要提醒一下大家&#…

2021年新手做seo怎么做,几大绝招快速上排名收录

五一了,冬镜在这里先祝大家节日快乐。今年在各大站长群、论坛等圈子看到大家聊到最多的还是收录排名的问题,特别是今年,算法更新没去年频繁,但是优化却十分不稳定,很多网站都经历暴跌暴涨,很多刚入行的SEO从…

新域名做网站优化,如何才能快速的被蜘蛛爬取收录?

近些年从事SEO行业的人员普遍遇到的几大问题:①搜索引擎蜘蛛不爬取;②网站收录困难;③网站无排名。今天冬镜就针对这几点聊聊在2021年中怎么有效的来解决这些问题。 何为新域名?SEO又是如何理解新域名? 谈到新域名很多…

为什么说2021年做内容SEO的出路是百家号呢?

2021年开始做网站优化的从业人员,普遍面临的难点就在于网站不收录,针对网站不收录的解决办法冬镜给出过解决办法,今天主要给大家讲解如何提高网站内容收录问题,而是和大家聊聊百家号。 什么是百家号? 在了解百家号之前…

新网站嵌入广告影响优化排名,该怎么解决呢

最近有不少站长小伙伴咨询冬镜关于网站广告方面的问题,今天就写一篇文章统一为大家解答关于网站嵌入广告是否有影响,如产生了影响应该怎么解决? ​ 什么是网站广告? 网站广告是指在网页中放置广告的那个区域里面展现的内容。无论…

网站优化中落地页时间因子还有用吗,应该怎么改造

近期某位站长来咨询冬镜新上线的网站还有没有必要添加落地页时间因子,想要搞清楚这一点,我们首先就要搞清楚落地页时间因子是什么? ​ 何为落地页时间因子? 落地页时间因子简单来说就是在落地页上有一个时间声明。落地页时间因…

网站优化之301 转向, Apache应注意这几点

今天一位站长朋友咨询301问题,本来以为很简单的,没注意到其中的细节,从而导致冬镜花费了一点时间才解决了。现在给大家分享出来,希望以后的站长朋友再遇到此类问题,就可以避免踩坑。 什么是301转向 301转向&#xff0…

网站备案对SEO优化有什么影响呢

做网站优化的站长都知道今年进入5月份后,普遍遇到的情况都是收录变得困难了,特别是在那些高危行业(金融、医疗、法律等)限制得就更严重了。今天冬镜不是教大家如何做网站收录,而是和大家聊聊网站优化中是否要对网站域名…

网站不收录内页怎么解决,找准原因是关键

网站不收录,这个问题是从事优化人员最先遇到的问题。近些年来优化相比以前是越来越不好做,冬镜认为是搜索引擎在进步,更加智能了,而大部分优化人员的技术水平没跟上,所以唱衰优化行业的声音就越来越烈。其实&#xff0…

“重庆seo”一词如何做到首页排名,优化这样做事半功倍

2021年以来冬镜就很少给大家分享怎么做关键词优化的教程,更多的是在讲解如何利用大平台的资源快速上排名,或者是做出转化,毕竟所有的优化都是为了转化,只能说各个企业的转化形式不一样。其它废话不多说,今天为大家讲讲…