# -*- coding: utf-8 -*-
# 导入俩库,足够了
import requests
from bs4 import BeautifulSoup
url = "/xiaoshuo/2/2392/index.html" # 小说索引页
url_text = "/xiaoshuo/2/2392/" # 小说主页面,后面还需加上每一章的链接
page = range(174, 294) # 第三部是174-294页
# 定义第一个函数, 用来爬取每一章的url和章节名
def get_url(url):
content = requests.get(url).content
soup = BeautifulSoup(content)
# 找到每一章所在的位置,都在'li'这个标签
text = soup.find('div', {'class': 'mulu'}).find('ul').find_all('li')
urls = []
titles = []
for i in page: # 循环第三部的每一章
url1 = text[i].find('a').get('href')
title = text[i].find('a').get_text()
urls.append(url1)
titles.append(title)
#返回链接和章节名
return urls, titles
# 定义第二个函数,用来得到每一章的内容,并存入TXT文件
def get_text():
# 从上一个函数获取链接和章节名
urls, titles = get_url(url)
# 文本文件设置为追加模式'a',避免前面的内容被覆盖
f = open('d:/kuanglong.txt', 'a')
for i in range(len(urls)):
url_tt = url_text + str(urls[i]) # 每一章完整的链接
content = requests.get(url_tt).content
soup = BeautifulSoup(content)
# 得到一章的内容
text = soup.find('div', {'class': 'yd_text2'}).get_text()
# 将得到的内容清洗,去除广告
text = text.replace("****[ 请到 六九中文阅读最新章节 ]****", '').replace('[\****/[ 六九中文急速更新 ]\****/]', '')\
.replace('\xa0', '')
# 章节名 + 章节内容
texts = titles[i] + text
# 写入txt文件
f.write(texts)
# 循环完之后关闭文件句柄
f.close()
# 运行程序
if __name__ == '__main__':
get_text()
如果觉得《python 小说 小说_如何使用python上小说网爬网络小说?》对你有帮助,请点赞、收藏,并留下你的观点哦!