1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > python 小说 小说_如何使用python上小说网爬网络小说?

python 小说 小说_如何使用python上小说网爬网络小说?

时间:2023-09-11 14:46:49

相关推荐

python 小说 小说_如何使用python上小说网爬网络小说?

# -*- 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()

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。