您的位置:首页 > 科技 > IT业 > 作品提示优化要删吗_erp系统是什么系统_国际军事形势最新消息_电话销售如何快速吸引客户

作品提示优化要删吗_erp系统是什么系统_国际军事形势最新消息_电话销售如何快速吸引客户

2025/4/6 2:08:49 来源:https://blog.csdn.net/xzal12/article/details/146900493  浏览:    关键词:作品提示优化要删吗_erp系统是什么系统_国际军事形势最新消息_电话销售如何快速吸引客户
作品提示优化要删吗_erp系统是什么系统_国际军事形势最新消息_电话销售如何快速吸引客户
# 导入所需的库
import requests  # 用于发送HTTP请求,获取网页内容
from bs4 import BeautifulSoup  # 用于解析HTML和XML文档
import re  # 用于正则表达式处理
from lxml import etree  # 用于HTML和XML解析
import os  # 用于处理文件和目录# 设置要抓取的书籍章节的主页URL
url = 'https://www.xzmncy.com/list/49353/'  # 书籍章节列表页面的URL
head = {  # 设置请求头,模拟浏览器访问'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36'
}# 创建目录用来存储抓取的文件(如果该目录不存在的话)
os.makedirs('book', exist_ok=True)  # 如果'book'目录不存在,则创建它# 获取网页响应并解析其中所有章节的链接和标题
res = requests.get(url, headers=head)  # 发送GET请求获取页面内容
soup = BeautifulSoup(res.text, 'lxml')  # 使用BeautifulSoup解析HTML页面
dds = soup.find('div', id='list').find_all('dd')  # 找到所有章节的 <dd> 标签,其中包含每个章节的链接和标题# 打开文件准备写入,文件路径是 'book/article.txt'
# 使用 'w' 模式,表示每次运行时会覆盖文件内容
with open('book/article.txt', 'w', encoding='utf-8') as merged_file:for dd in dds:  # 遍历每个章节的 <dd> 标签# 获取章节标题,处理掉非法字符title = dd.find('a').text  # 获取章节标题title = title.replace('?', '').replace('*', '').replace('<', '').replace('>', '').replace(':', '').replace('"','').replace('/', '').replace('\\', '').replace('|', '')  # 去除章节标题中的非法字符# 获取章节的链接,拼接成完整的URLlink = 'https://www.xzmncy.com' + dd.find('a').get('href')  # 获取章节的URL# 获取章节的具体内容try:res1 = requests.get(link, headers=head, timeout=10)  # 发送请求获取章节页面内容res1.raise_for_status()  # 检查请求是否成功(返回200状态码)# 使用BeautifulSoup解析章节页面内容soup1 = BeautifulSoup(res1.text, 'lxml')  # 解析章节内容的HTMLcontent_div = soup1.find('div', id='htmlContent')  # 找到包含章节内容的 <div> 标签if content_div:  # 如果找到了章节内容# 提取所有 <p> 标签中的文本并合并为一段内容content = '\n'.join([p.get_text().strip() for p in content_div.find_all('p')])  # 获取所有段落文本,并合并为一个长字符串# 写入章节标题和内容到文件merged_file.write(f"\n\n========== {title} ==========\n\n")  # 写入章节标题,并加上分隔线merged_file.write(content)  # 写入章节内容print(f'已合并章节:{title}')  # 输出提示,表示该章节已成功合并else:print(f'内容结构异常,跳过章节:{title}')  # 如果没有找到有效的内容,输出提示信息except Exception as e:  # 如果获取章节内容时发生错误print(f'获取章节失败 [{title}],错误:{str(e)}')  # 输出错误信息,并跳过当前章节continue  # 继续抓取下一个章节# 输出提示信息,表示所有章节已合并完成
print("所有章节已合并到 book_完整版.txt")  # 最后输出合并完成的提示

总结:

  • 该程序的主要功能是从指定网站抓取章节标题和内容,并将它们合并成一个文本文件。
  • 它使用了requests库获取页面内容,BeautifulSoup进行HTML解析,os.makedirs创建目录,open方法写入文件。
  • 针对章节标题,代码进行了字符清理,确保文件中没有非法字符。
  • 每个章节的内容都会被提取并追加到一个名为book/article.txt的文件中。

注意:

  • 需要自己建book文件夹,并且python文件与book文件夹在同一级,合并的章节会自动提取并追加到book/article.txt文件中。 

换链接小说时需要修改的地方:

  • # 书籍章节列表页面的URL(笔趣阁该小说的主页)

        url = 'https://www.xzmncy.com/list/49353/'  

  • # 获取章节的链接,拼接成完整的URL

        link = 'https://www.xzmncy.com' + dd.find('a').get('href')  # 获取章节的URL

 

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com