Beautifulsoup4学习笔记

这篇博客介绍了BeautifulSoup4的基本使用,包括如何构建BeautifulSoup对象,四种主要对象(Tag, NavigableString, BeautifulSoup, Comment)的特性,遍历和搜索文档树的方法,以及如何使用CSS选择器。文中详细阐述了对象属性和方法,如Tag的name和attrs属性,NavigableString的内容获取,以及遍历父节点、子节点和兄弟节点的方法。此外,还讨论了find_all和find方法,以及如何使用CSS选择器进行高效筛选。" 131176365,9143399,夜间灯光数据揭示能源碳排放变化趋势,"['能源分析', '环保', '数据科学', '遥感技术', '碳排放']
摘要由CSDN通过智能技术生成

beautifulsoup4学习小记
pip安装

pip install beautifulsoup4

或easy_install

easy_install beautifulsoup4

或源码安装

python setup.py install

BeautifulSoup除了内置HTML解析器,还支持一些第三方解析去,比如html5lib,lxml等,可以安装之后,在初始化BeautifulSoup对象的时候构建

构建BeautifulSoup对象

一般可以处理两种html文件,一种是在线获取再处理,一种是直接处理本地文件

import requests
from bs4 import BeautifulSoup
# 通过requests获取
html = requests.get('http://www.pm25.com/xian.html')
soup = BeautifulSoup(html.text)
# 处理本地文件
soup = BeautifulSoup(open('test.html'))

四种对象

BeautifulSoup主要有四类对象 Tag,NavigableString,BeautifulSoup,Comment

Tag

Tag有两种重要的属性 name和attrs
soup.p.name
soup.p.attrs 包括class在内的p标签的所有属性
soup.p[‘class’] class属性
soup.p.get(‘class’) 与上一个作用相同,获取class属性
soup.p[‘class’] = ‘newClass’ 修改class属性

获取标签的内容使用 .string或get_text()

BeautifulSoup

BeautifulSoup 对象表示的是一个文档的全部内容

Comment

打印前可以判断一下是否为注释

if type(soup.a.string)==bs4.element.Comment:
    print(soup.a.string)

遍历文档树

  1. 直接子节点
    .contents可以将tag的子节点以列表的方式输出
    .children 返回一个list生成器对象,可以通过迭代输出
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值