使用Python爬取小說內容,可以使用requests庫發送HTTP請求獲取小說網站的HTML內容,然后使用BeautifulSoup庫解析HTML,并提取出小說的章節鏈接。再次使用requests庫發送HTTP請求獲取每個章節的HTML內容,最后使用正則表達式或者BeautifulSoup庫提取出章節的具體內容。
下面是一個簡單的示例代碼:
```python
import requests
from bs4 import BeautifulSoup
import re
def get_novel_content(url):
# 發送HTTP請求獲取網頁內容
response = requests.get(url)
response.encoding = 'utf-8'
html = response.text
# 使用BeautifulSoup解析HTML
soup = BeautifulSoup(html, 'html.parser')
# 提取小說章節鏈接
chapter_links = soup.find_all('a', href=re.compile("chapter"))
# 逐個章節爬取內容
for link in chapter_links:
chapter_url = url + link['href'] # 拼接完整的章節鏈接
# 發送HTTP請求獲取章節內容
chapter_response = requests.get(chapter_url)
chapter_response.encoding = 'utf-8'
chapter_html = chapter_response.text
# 使用正則表達式提取章節標題和內容
chapter_title = re.search('
', chapter_html).group(1)
chapter_content = re.search('
(.*?)
', chapter_html, re.S).group(1)
# 打印章節標題和內容
print(chapter_title)
print(chapter_content)
print('------------------------------')
# 示例:爬取《斗破蒼穹》小說
novel_url = 'http://www.xxxx.com/' # 小說網站的URL
get_novel_content(novel_url)
```
需要注意的是,具體爬取小說內容的代碼會因不同的小說網站而有所不同,需要根據目標網站的HTML結構進行相應的調整。另外,爬取網站內容時需要遵守相關法律法規和網站的爬蟲規則,避免對目標網站造成過大的訪問壓力。