| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> Python知识库 -> Python request模块(四)—— BeautifulSoup获取小说内容 -> 正文阅读 |
|
[Python知识库]Python request模块(四)—— BeautifulSoup获取小说内容 |
一、 BeautifulSoup(bs4)简介1. 安装要使用bs4,首先需要安装对应的包????????????? pip install beautifulsoup4 2. 核心思想? ? ? ?本质是通过html中的标签、或者标签中的属性定位到其中的内容。这个过程可以重复多次,例如你可以找到一个较大范围的唯一标签,再在其中定位想要的内容。因此,它比正则表达式要容易上手得多,你只需要找对应标签即可。 3. 用法简介
属性的几种写法: ? ? ? ?由于html部分标签属性的关键字跟python关键字是一样的(例如class),直接写这些属性名会报python语法错误,因此bs4的属性有两种写法可以避免这个问题。
二、 bs4获取小说内容? ? ? ?前面我们通过正则表达式拿到了一部小说的所有url,这里我们要做的就是读取并循环请求这些url,然后用bs4匹配其中的小说文本内容。 ? ? ? ?随便打开一章,查看源码,看看文本内容在哪个标签里 我在仙宗当神兽[穿书] 网络小说 - 第 142 章 一个大美人142 - 归德读书网 ? ? ? ?这里很幸运的是div id="articlecon"这个属性是唯一的,所以我们很方便就可以获取到这块内容。但是注意里面并不全是文本,还有很多<p></p>标签需要处理(后来发现这里p标签都是唯一的,但是这个例子太特殊,我们还是用div的标签学习bs4用法)。 ? ? ? ?先拿一个链接,试着匹配div id="articlecon"部分内容 ? ? ? ?接下来的内容全在p标签里,因此要用find_all全部匹配出来。这里注意它有两层p标签,所以还要先find一次p标签。 ? ? ? ?find_all返回一个列表,里面每个元素是p标签和其中的内容,如果只想要其中的内容,需要再调用getText函数。如果想要标签中的属性,则用 列表.get("href")。 例如 <a href=www.baidu.com>百度</a>
循环取出其中的内容,来看一下区别 直接输出: 使用getText方法 成功~~ 接下来把循环加上,就能输出所有章节内容了 再来我们把输出存到txt文件中,小说下载就大功告成了~ 代码如下
补两个视频中的截图,暂时还没测这两个例子。一个抓表格数据,一个抓图片。 笔记-抓取表格数据 图片抓取:进主页,抓子页面高清图片 参考:B站视频 P28-P32 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/15 12:32:21- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |