import random
from bs4 import BeautifulSoup
import time
def request_html(url):
headers={'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36'}
request = urllib.request.Request(url, headers=headers)
return request
def parse_html(html, f):
# 生成soup对象
soup = BeautifulSoup(html, 'lxml')
# 查找所有的章节链接和标题内容
list_name = soup.select('.book-mulu > ul > li > a')
# 遍历每一个列表中的tag对象,获取链接个目录
for item in list_name:
# 获取链接
#item: <a href="/book/liangjinyanyi/1.html">自序</a>
#拼接目录链接,此处item类型为<class 'bs4.element.Tag'>,使用下面方法可以值获取href属性值
href = 'http://www.shicimingju.com' + item['href']
# 获取标题
title = item.text
print('正在下载:-**--%s--**-......' % title)
# 获取章节内容函数
text = get_text(href)
# 写入文件
f.write(title + '\n' + text)
print('结束下载:-**--%s--**-' % title)
time.sleep(random.uniform(0,1))
# 提取章节内容
def get_text(href):
#创建请求对象
request = request_html(href)
content = urllib.request.urlopen(request).read().decode('utf8')
soup = BeautifulSoup(content, 'lxml')
# 查找包含内容的tag--div
artist = soup.find('div', class_='chapter_content')
#获取tag标签中的文本内容
return artist.text
def run():
# 打开文件
f = open('两晋演义.txt', 'w', encoding='utf8')
url = 'http://www.shicimingju.com/book/liangjinyanyi.html'
# 构建请求对象
request = request_html(url)
# 发送请求,得到响应,转换为HTML对象
html = urllib.request.urlopen(request).read().decode('utf8')
# 解析内容
parse_html(html,f)
#关闭文件
f.close()
if __name__ == '__main__':
run()
如果你对Python感兴趣,想要学习python,这里给大家分享一份Python全套学习资料,都是我自己学习时整理的,希望可以帮到你,一起加油!
😝有需要的小伙伴,可以点击下方链接免费领取或者V扫描下方二维码免费领取🆓
Python全套学习资料
对于从来没有接触过Python的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
还有很多适合0基础入门的学习视频,有了这些视频,轻轻松松上手Python~
每节视频课后,都有对应的练习题哦,可以检验学习成果哈哈!
学习Python常用的开发软件都在这里了!每个都有详细的安装教程,保证你可以安装成功哦!
光学理论是没用的,要学会跟着一起敲代码,动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。100+实战案例源码等你来拿!
如果觉得上面的实战案例有点枯燥,可以试试自己用Python编写小游戏,让你的学习过程中增添一点趣味!
我们学会了Python之后,有了技能就可以出去找工作啦!下面这些面试题是都来自阿里、腾讯、字节等一线互联网大厂,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
上述所有资料 ?? ,朋友们如果有需要的,可以扫描下方👇👇👇二维码免费领取🆓