Python爬虫:BeautifulSoup常用操作

此笔记没有做太多实验,仅做参考,具体情况还要查看文档:https://www.crummy.com/software/BeautifulSoup/bs4/doc.zh/#id4

初始化:

from bs4 import BeautifulSoup 
# 从文件获取
soup = BeautifulSoup(open("html.txt", "r", encoding='utf-8'), 'lxml')

# 从string获取
html_str = '''
<html><body>
<div>
我们的祖国是花园
</div>
</body></html>
'''
soup = BeautifulSoup(html_str, 'lxml')
type(soup)     # bs4.BeautifulSoup对象
type(soup.div) # bs4.element.Tag对象

#这是一个通用获取Tag对象内容的方法
#这个方法能保证拥有正确换行
#并且这个方法获取到的string会以一个换行结尾
def getContentOfTag(tag):
    '''获取一个Tag对象的内容'''
    content = ''
    if tag != None:
        for line in tag.stripped_strings:
            content += line + '\n'
    return content

寻找所有某类的方法:

# 查找所有,返回列表
reses = tag.find_all("span",class_="RichText ztext CopyrightRichText-richText")
# 查找第一个,相当于reses[0]
res = tag.find("span",class_="RichText ztext CopyrightRichText-richText")

#获取Tag的所有内容,包括直接内容和其子标签内容,没有换行
tag.get_text()

#如果其只有一个子标签有内容(包括其自身的内容),若是有多个子标签有内容,这个会返回None
tag.string

#获取其内容和其子标签内容的列表
tag.strings
tag.contents

猜你喜欢

转载自blog.csdn.net/xuejianbest/article/details/85164354