爬取斗破苍穹小说 Python 代码

介绍

网络爬虫是一种自动获取互联网上数据的方法。本文将介绍如何使用 Python 编写一个简单的小说爬虫,以爬取《斗破苍穹》小说内容为例。

准备工作

在开始编写爬虫之前,我们需要进行一些准备工作。

首先,我们需要安装 Python 的 requests 和 BeautifulSoup 库,这两个库都是常用于网络爬虫的工具。可以使用以下命令来安装这两个库:

pip install requests
pip install beautifulsoup4

然后,我们需要找到《斗破苍穹》小说的网站。在本文中,我们将使用笔趣阁(

爬取小说内容

首先,我们需要获取小说的章节列表。根据笔趣阁的网页结构,章节列表位于一个类名为 "listmain" 的 div 元素下面的 ul 和 li 元素中。

import requests
from bs4 import BeautifulSoup

def get_chapter_list():
    url = "
    response = requests.get(url)
    response.encoding = 'utf-8'
    soup = BeautifulSoup(response.text, 'html.parser')
    chapter_list = []
    for li in soup.find("div", class_="listmain").find_all("li"):
        chapter_url = url + li.a["href"]
        chapter_title = li.a.string
        chapter_list.append((chapter_title, chapter_url))
    return chapter_list

上述代码中,我们使用 requests 库发送一个 GET 请求获取网页的 HTML 内容,然后使用 BeautifulSoup 库解析 HTML 内容。最后,我们通过查找 div 元素的 class 为 "listmain" 的元素,找到章节列表中的 ul 元素,并遍历 li 元素获取每个章节的标题和链接。

接下来,我们可以根据章节列表,逐个爬取每个章节的内容。

def get_chapter_content(chapter_url):
    response = requests.get(chapter_url)
    response.encoding = 'utf-8'
    soup = BeautifulSoup(response.text, 'html.parser')
    content = soup.find("div", id="content").text
    return content

在上述代码中,我们先发送一个 GET 请求获取章节的 HTML 内容,然后使用 BeautifulSoup 库解析 HTML 内容。通过查找 id 为 "content" 的 div 元素,我们可以获取章节的内容。

最后,我们可以将章节列表和内容写入到本地文件中。

def save_novel(chapter_list):
    with open("novel.txt", "w", encoding="utf-8") as f:
        for chapter_title, chapter_url in chapter_list:
            content = get_chapter_content(chapter_url)
            f.write(chapter_title + "\n")
            f.write(content + "\n\n")
    print("小说已保存到 novel.txt 文件中")

上述代码中,我们使用 with 语句打开一个名为 "novel.txt" 的文件,并使用 UTF-8 编码写入章节标题和内容。

运行爬虫

现在,我们可以运行爬虫并爬取《斗破苍穹》小说了。

if __name__ == "__main__":
    chapter_list = get_chapter_list()
    save_novel(chapter_list)

将上述代码保存到一个名为 "spider.py" 的文件中,然后在命令行窗口中运行以下命令:

python spider.py

爬虫将会开始运行,爬取《斗破苍穹》小说的章节列表和内容,并保存到 "novel.txt" 文件中。

总结

本文介绍了如何使用 Python 编写一个简单的小说爬虫,以爬取《斗破苍穹》小说为例。我们使用了 requests 库发送 HTTP 请求,使用 BeautifulSoup 库解析 HTML 内容,并将爬取到的章节列表和内容保存到本地文件中。

使用网络爬虫有一些法律和道德上的限制,请确保你有合法的使用权限,并遵守相关的法