python爬虫(十)-------------------bs4

bs4其实是用类DOM的方式组织HTML或XML文件的比DOM/SAX较简单,它可以自动处理HTML标签不闭合的情况
它是一个可以从HTML或XML文件中提取数据的Python库.
它能够通过你喜欢的转换器实现惯用的文档导航,查找,修改文档的方式.
Beautiful Soup会帮你节省数小时甚至数天的工作时间.
历史版本已经停止开发,当前版本为4.2。
默认底层用的是lxml解析,也可以换成其他的解析器BeautifulSoup(open('sample.html'),'解析器名字')

from bs4 import BeautifulSoup

soup = BeautifulSoup(open('sample.html'))
print(soup.prettify())#代码美化,即打印时根据标签的层级关系添加空格

# Tag
'''
print(type(soup.title))
print(soup.title.name)
print(soup.title)
'''

# String
'''
print(type(soup.title.string))#把soup.title两端标签去掉
print(soup.title.string)
'''

# Comment
'''
#判断字符串是否为注释,如果不是输出内容
if str(type(soup.a.string))!="<class 'bs4.element.Comment'>":
	print(type(soup.a.string))
	print(soup.a.string)
'''

'''
#遍历所有标签元素
for item in soup.body.contents:
    print(item.name)#只找子级元素不找后代元素所以只打印子级元素名
'''

# CSS查询
'''
print(soup.select('.sister'))#类选择器
print(soup.select('#link1'))#id选择器
print(soup.select('head > title'))
'''

a_s = soup.select('a')
#soup.a就返回第一个
for a in a_s:
    print(a)

猜你喜欢

转载自blog.csdn.net/qq_41228218/article/details/88983197
今日推荐