python爬虫获取红楼梦
时间: 2023-11-08 09:46:17 浏览: 31
要爬取红楼梦,你需要先找到一份红楼梦的电子版文本。可以在互联网上搜索,也可以使用Python爬虫从网站上获取。
以下是一个简单的Python爬虫示例,可以获取《红楼梦》的文本:
```python
import requests
from bs4 import BeautifulSoup
# 获取章节内容
def get_chapter_content(url):
response = requests.get(url)
soup = BeautifulSoup(response.content, 'html.parser')
# 获取章节标题
title = soup.find('div', {'class': 'bookname'}).h1.text
# 获取章节内容
content = soup.find('div', {'id': 'content'}).text
# 去除空白和广告
content = content.strip().replace('\n', '').replace('\r', '').replace('\u3000', '')
return title, content
# 获取所有章节链接
def get_chapter_urls():
base_url = 'https://www.xs.la/0_5/'
response = requests.get(base_url)
soup = BeautifulSoup(response.content, 'html.parser')
urls = []
for link in soup.find_all('dd'):
url = link.a.get('href')
urls.append(base_url + url)
return urls
# 保存到文件
def save_to_file(chapter_title, chapter_content):
with open('hongloumeng.txt', 'a', encoding='utf-8') as f:
f.write(chapter_title + '\n\n')
f.write(chapter_content + '\n\n')
if __name__ == '__main__':
# 获取所有章节链接
urls = get_chapter_urls()
# 逐个获取章节内容并保存到文件
for url in urls:
title, content = get_chapter_content(url)
save_to_file(title, content)
```
这个示例从笔趣阁上获取了红楼梦的文本,并将每一章节的标题和内容保存到了一个文本文件中。你可以根据自己的需要修改代码来获取想要的内容。
阅读全文