Python学习笔记,爬取笔趣阁小说
2021/7/20 12:05:52
本文主要是介绍Python学习笔记,爬取笔趣阁小说,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
代码来源:Python爬取笔趣阁小说,有趣又实用
学习了基础的语法,然后网上看到有人分享利用python爬取小说,自己拷贝了代码尝试了一下。
1. 环境准备 安装 BeautifulSoup4 和 lxml
& C:/Python39/python.exe -m pip install --user BeautifulSoup4 & C:/Python39/python.exe -m pip install --user lxml
2. 重命名了下载后的文件名便于排序也防止有非法的字符出现无法创建文件,加了1秒的间隔
import os import requests import time from bs4 import BeautifulSoup # 声明请求头 headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.182 Safari/537.36' } # 创建保存小说文本的文件夹 if not os.path.exists('./小说'): os.mkdir('./小说/') path = 'http://www.biquw.com/book/416/' # 访问网站并获取页面数据 response = requests.get(path) response.encoding = response.apparent_encoding # print(response.text) ''' 根据上图所示,数据是保存在a标签当中的。a的父标签为li,li的父标签为ul标签,ul标签之上为div标签。 所以如果想要获取整个页面的小说章节数据,那么需要先获取div标签。并且div标签中包含了class属性, 我们可以通过class属性获取指定的div标签,详情看代码~ ''' # lxml: html解析库 将html代码转成python对象,python可以对html代码进行控制 soup = BeautifulSoup(response.text, 'lxml') book_list = soup.find('div', class_='book_list').find_all('a') # soup对象获取批量数据后返回的是一个列表,我们可以对列表进行迭代提取 count = 1; for book in book_list: book_name = book.text # 获取到列表数据之后,需要获取文章详情页的链接,链接在a标签的href属性中 book_url = book['href'] book_info_html = requests.get(path + book_url, headers=headers) book_info_html.encoding = book_info_html.apparent_encoding soup_part = BeautifulSoup(book_info_html.text, 'lxml') info = soup_part.find('div', id='htmlContent') name = str(count) # print(info.text) with open('./小说/' + name.zfill(4) + '.txt', 'a', encoding='utf-8') as f: f.write(info.text) print('{} 下载完成!'.format(book_name)) count += 1 time.sleep(1)
这篇关于Python学习笔记,爬取笔趣阁小说的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-24Python编程基础详解
- 2024-11-21Python编程基础教程
- 2024-11-20Python编程基础与实践
- 2024-11-20Python编程基础与高级应用
- 2024-11-19Python 基础编程教程
- 2024-11-19Python基础入门教程
- 2024-11-17在FastAPI项目中添加一个生产级别的数据库——本地环境搭建指南
- 2024-11-16`PyMuPDF4LLM`:提取PDF数据的神器
- 2024-11-16四种数据科学Web界面框架快速对比:Rio、Reflex、Streamlit和Plotly Dash
- 2024-11-14获取参数学习:Python编程入门教程