当先锋百科网

首页 1 2 3 4 5 6 7

Python 是一门广泛应用于网页数据爬取的语言,其中最为常见的是用 Python 爬取小说。相比较于手动翻页与复制粘贴,Python 爬虫可以帮你轻轻松松地获取整本小说,极大提升了效率。那么,我们来看看 Python 爬取小说的详细过程。

python爬小说详细

首先,我们需要确认要爬取的小说网站。在确定网站后,我们可以通过 requests 库获得小说某一页的 HTML 代码,如下:


import requests

url = 'https://www.xxxx.com/novel/12345.html'
response = requests.get(url)
html = response.text
print(html)

接下来,我们需要解析这个 HTML,以获得小说的内容。我们可以使用 BeautifulSoup 库进行解析。在获取到 HTML 后,我们可以使用 BeautifulSoup 进行解析,如下:


from bs4 import BeautifulSoup

soup = BeautifulSoup(html, 'html.parser')
novel_content = soup.find('div', {'class': 'content'}).text
print(novel_content)

解析完每一页的小说内容后,我们需要将其保存到本地文件中。可以使用 Python 的文件操作方式将小说内容写入到本地 TXT 文件中,如下:


with open('novel.txt', 'a') as f:
    f.write(novel_content)

最后,我们需要将爬虫代码封装在一个循环中,从第一页开始一直进行到最后一页,直到小说结束。在这个循环中,需要注意加入一些休眠时间,避免频繁请求引起小说网站的反爬虫机制。以下是完整的 Python 爬虫代码:


import requests
from bs4 import BeautifulSoup
import time

novel_url = 'https://www.xxxx.com/novel/12345.html'
total_page = 100

for page in range(total_page):
    url = novel_url + '?page={}'.format(page)
    
    response = requests.get(url)
    html = response.text
    
    soup = BeautifulSoup(html, 'html.parser')
    novel_content = soup.find('div', {'class': 'content'}).text
    
    with open('novel.txt', 'a') as f:
        f.write(novel_content)
    
    time.sleep(1)

通过以上步骤,就可以轻松地用 Python 爬取小说了。