当前位置:   article > 正文

Python爬取笔趣阁小说(仅供学习使用)_python 笔趣阁按名字爬取小说

python 笔趣阁按名字爬取小说

首先,确保安装'requests'和'beautifulsoup4'库,若未安装在cmd运行以下命令。

pip install requests beautifulsoup4

具体实现代码如下。

  1. import os
  2. import requests
  3. from bs4 import BeautifulSoup
  4. # 小说主页URL
  5. base_url = "https://www.bqka.cc"
  6. novel_url = base_url + "/book/3315/" #可通过更改3315来爬取其他小说
  7. # 发送请求获取网页内容
  8. response = requests.get(novel_url)
  9. response.encoding = 'utf-8'
  10. html_content = response.text
  11. # 使用BeautifulSoup解析HTML
  12. soup = BeautifulSoup(html_content, 'html.parser')
  13. # 找到包含章节列表的div
  14. listmain_div = soup.find('div', class_='listmain')
  15. if listmain_div:
  16. # 找到所有的章节链接
  17. chapter_links = listmain_div.find_all('a')
  18. # 提取章节标题和链接
  19. chapters = []
  20. for link in chapter_links:
  21. title = link.text.strip()
  22. href = link['href']
  23. # 过滤无效链接
  24. if not href.startswith("javascript"):
  25. full_url = base_url + href
  26. chapters.append({"title": title, "url": full_url})
  27. # 创建保存小说章节的目录
  28. if not os.path.exists("novel"):
  29. os.makedirs("novel")
  30. # 爬取每个章节的内容并保存到txt文件
  31. for chapter in chapters:
  32. chapter_title = chapter['title']
  33. chapter_url = chapter['url']
  34. # 发送请求获取章节页面内容
  35. chapter_response = requests.get(chapter_url)
  36. chapter_response.encoding = 'utf-8'
  37. chapter_html_content = chapter_response.text
  38. # 使用BeautifulSoup解析章节页面HTML
  39. chapter_soup = BeautifulSoup(chapter_html_content, 'html.parser')
  40. # 找到包含章节正文的div
  41. chapter_content_div = chapter_soup.find('div', id='chaptercontent')
  42. if chapter_content_div:
  43. # 获取章节正文内容
  44. chapter_content = chapter_content_div.get_text(separator="\n", strip=True)
  45. # 保存章节内容到txt文件
  46. file_name = f"novel/{chapter_title}.txt"
  47. with open(file_name, 'w', encoding='utf-8') as file:
  48. file.write(chapter_title + "\n\n")
  49. file.write(chapter_content)
  50. print(f"已保存章节: {chapter_title}")
  51. else:
  52. print(f"未找到章节正文: {chapter_title}")
  53. else:
  54. print("未找到章节列表")

爬取结果如下。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/木道寻08/article/detail/825119
推荐阅读
相关标签
  

闽ICP备14008679号