使用BS4 循环读取三国章节和内容 并使用章节名创建文件夹 持久化存储章节内容

from bs4 import BeautifulSoup
import requests,os
#判断文件存在不存在则自动创建文件夹
if __name__ =='__main__':
	if not os.path.exists('./三国'):
		os.mkdir('./三国')
	url ='https://www.xingyueboke.com/sanguoyanyi/'
	headers = {'user-agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) 			Chrome/83.0.4103.106 Safari/537.36' }
    #发起请求获取text 进行解析
	page_text = requests.get(url=url,headers=headers).text
	soup = BeautifulSoup(page_text,'lxml')
	li_list = soup.select('#content-list > div.book-list.clearfix > ul > li  ')
	#print(li_list)
	#循环取出三国的章节名称和对应的章节内容URL
	for i in li_list:
		title = i.a.string
		de_url = i.a['href']
		#获取章节内容
		de_page_text = requests.get(url=de_url,headers=headers).text
		de_soup = BeautifulSoup(de_page_text,'lxml')
		a = de_soup.find('div',id='nr1')
		#print(a)
		b = a.text
		#持久化保存 以章节名称创建文件名 保存章节内容
		with open('./三国/'+title+'.txt', 'w', encoding='utf_8') as fp:
				fp.write(title+'\n'+b+'\n')
				print(title)

运行结果如下
运行结果

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值