
如何利用 Beautiful Soup 爬取网页数据
发布日期:2021-05-08 06:30:45
浏览次数:13
分类:原创文章
本文共 1477 字,大约阅读时间需要 4 分钟。
定义
Python中的一个库,主要用于从网页爬取数据;
安装
pip install beautifulsoup4
四大对象
Beautiful Soup
将复杂的HTML
文档转换成树形结构,树中的每个节点都是Python
对象,对象可归纳为以下4种;
Tag
同XML
或HTML
中的标签tag
相同,tag
属性可被增删修改,操作方法和字典一样,最常用的属性如下;
- name
- attributes
NavigableString
获取标签之后,用于获取标签内部的文字;
BeautifulSoup
表示一个文档的全部内容,大多数情况下都可以将它当作Tag对象,是一个特殊的Tag对象,可用于分别获取其类型、名称及属性;
Comment
Comment是一个中枢类型的NavigableString对象,输出内容不含注释符号;
#!/usr/bin/python3# -*- coding:utf-8 -*-# @Time : 2018-11-16 10:30# @Author : Manu# @Site : # @File : beautiful_soup.py# @Software: PyCharmfrom bs4 import BeautifulSouphtml = """<html><head><title>村雨</title></head><body><p class="title" name="blog"><b>村雨的博客</b></p><li><!--注释--></li><a href="https://blog.csdn.net/github_39655029/article/details/83933199" target="_blank"> <span class="article-type type-1"> 原 </span> Python爬虫之网络请求 </a><a href="https://blog.csdn.net/github_39655029/article/details/84100458" target="_blank"> <span class="article-type type-1"> 原 </span> 爬虫实践--豆瓣电影当前上映电影信息爬取 </a> </body></html>"""soup = BeautifulSoup(html, 'lxml')print(soup.name)print(soup.title.name)print(soup.prettify())# 获取titleprint('title:', soup.title.text)# 获取headprint('p:', soup.p.text)a_list = soup.a.attrsprint(a_list.get('href'))# 获取Title标签的文字内容print(soup.title.string)# 获取对象名称print(soup.name)# 获取对象属性print(soup.attrs)# 获取对象类型print(type(soup.name))if type(soup.li.string) == element.Comment: print('comment:', soup.li.string)
发表评论
最新留言
留言是一种美德,欢迎回访!
[***.207.175.100]2025年03月20日 06时51分19秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
程序员应该知道的97件事
2019-03-05
我编程,我快乐—程序员职业规划之道
2019-03-05
剑指 Offer 29. 顺时针打印矩阵
2019-03-05
Web基础应用 NFS服务基础 触发挂载
2019-03-05
create-react-app路由的实现原理
2019-03-05
PSI值
2019-03-05
海思Hi3531DV100开发环境搭建
2019-03-05
Xilinx Zynq pl353-nand使用
2019-03-05
JavaScript上传下载文件
2019-03-05
QWaitCondition把异步调用封装成同步调用
2019-03-05
Linux驱动开发之PCIe Host驱动
2019-03-05
Vue.js Element Basic组件使用
2019-03-05
android MVP模式
2019-03-05
android 头像选择,裁剪全套解决方案,你值得拥有!
2019-03-05
MapReduce
2019-03-05
springboot swagger2
2019-03-05
shell(十)case的几个典型应用
2019-03-05
Linux环境变量配置错误导致命令不能使用(杂谈)
2019-03-05
openstack安装(六)镜像glance服务安装
2019-03-05
openstack安装(九)网络服务的安装--控制节点
2019-03-05