26、BeautifulSoup之Tag上集回顾:
上集快速领略python中tag函数了一下 BeautifulSoup 的大概功能python中tag函数,并学习了如何安装和构造一个 BeautifulSoup 对象 。
本集学习 BeautifulSoup 的 Tag 及其属性 。
由于HTML和XML是由大量tag组合和嵌套而成python中tag函数,所以检索目标信息就是检索目标tag的过程 。
一、Tag对象
Tag对象与XML或HTML原生文档中的tag相同:
Tag有很多方法和属性,其中最重要的属性是: name和attributes 。
二、name属性
每个tag都有自己的名字,通过 .name 来获取:
如果改变了tag的name,那将影响所有通过当前Beautiful Soup对象生成的HTML文档:
三、attributes属性
一个tag可能有很多个属性. tagb class="boldest"有一个 “class” 的属性,值为 “boldest” . tag的属性的操作方法与字典相同:
也可以直接”点”取属性, 比如: .attrs :
【python中tag函数 python中tag的用法】 tag的属性可以被添加,删除或修改. 再说一次, tag的属性操作方法与字典一样
四、多值属性
HTML 定义了一系列可以包含多个值的属性 。最常见的多值的属性是 class (一个tag可以有多个CSS的class). 还有一些属性rel,rev,accept-charset,headers,accesskey。在Beautiful Soup中多值属性的返回类型是list:
如果某个属性看起来好像有多个值,但在任何版本的HTML定义中都没有被定义为多值属性,那么Beautiful Soup会将这个属性作为字符串返回
将tag转换成字符串时,多值属性会合并为一个值
如果转换的文档是XML格式,那么tag中不包含多值属性
五、字符串
字符串常被包含在tag内 。BeautifulSoup用NavigableString类来包装tag中的字符串:
一个 NavigableString 字符串与Python中的Unicode字符串相同,通过unicode()方法可以直接将NavigableString对象转换成Unicode字符串:
本集总结:
下集见
python tkinter 的Text控件为什么tag_add和tag_config用不了?报错提示给你说python中tag函数的很明显python中tag函数了......
可能是“text1”在你代码中间被替换了python中tag函数,
变成了Nonepython中tag函数,
检查代码吧 。。。
python中sgmllib.SGMLParser是什么用的如果要用sgmllib解析htmlpython中tag函数,则要继承sgmllib.SGMLParser类,此类里的函数都是空的,用户需要重载它 。这个类提供的功能是在特定情况下调用相应的函数 。
比如当发现html标签时,如果并没有定义 start_html(self,attr)函数,则会调用unknown_starttag函数,具体怎么处理则根据用户 。
sgml的标签是可以自定义的 , 比如自己定义了一个start_lala函数,则就会处理lala标签 。
有个地方要说明下,如果定义了start_tagname函数,有定义了handle_starttag函数,则函数只会运行handle_starttag函数 , start_tagname为空函数都没有问题 , 如果没有定义handle_starttag函数,则遇到tagname标签时,会运行start_tagname函数 。如果没有定义tagname的start函数,则此标签为未知标签 , 调用unknown_starttag函数
给python中tag函数你个例子python中tag函数你就知道了python中tag函数:
#------------------ HTMLParser_stack.py ------------------#
#-- coding: GBK --
import sgmllib,sys,os,string
html = """lalaheadtitleAdvice/title/headbody
pThe a href="" mce_href=""IETF admonishes:
iBe strict in what you bsend/b./i/a/p
form
input type=submit name='我' 我 input type=text name=start size=4/form
/body/lala
"""
os.chdir('d://python')
f=file('testboard.txt','r')
contest=f.read()
tagstack = []
class ShowStructure(sgmllib.SGMLParser):
def handle_starttag(self, tag, method,attrs): tagstack.append(tag)
推荐阅读
- 模拟经营游戏香水,模拟经营系列游戏
- 如何开通抖点电商广告功能,怎样开通抖音广告
- 游戏冒险解谜大鱼出品,大鱼出品解密游戏
- 小游戏对战格斗,格斗对战类游戏
- linux启动定时命令 linux 定时
- 头条如何通过新闻认证推广,头条怎么推广自己的新闻
- pg数据库的表,pg数据库表锁住了怎么办
- 钉钉直播有联播功能吗,钉钉直播有连麦功能吗
- c语言中使用函数格式 c语言函数格式举例