10-数据提取-BS4(美味汤)

Beautiful Soup

解析和提取 HTML/XML 数据
优点:支持css选择器,python标准库中的HTML解析器,lxml的XML解析器
缺点:需载入整个文档,因此耗时耗内存,性能低于lxml

基本使用

安装

pip install beautifulsoup4

导包:

from bs4 import BeautifulSoup

创建对象:

soup = BeautifulSoup(html)
soup = BeautifulSoup(open('index.html'))
注意:可通过soup = BeautifulSoup(html,'lxml')方式指定lxml解析器

格式化输出对象的内容:

print(soup.prettify())

简单使用:
from urllib.request import urlopen
from bs4 import BeautifulSoup

html = urlopen('http://tieba.baidu.com/')
bs = BeautifulSoup(html, 'lxml')
print(bs.title)
>> 百度贴吧——全球最大的中文社区

搜索文档

1)find_all():返回解析列表

find_all(name, attrs, recursive, text, **kwargs)

  • name:查找所有名字为name的标签,可以传入字符串、正则表达式、列表
  • keyword:根据键值对查找相应数据
  • text:搜索文档中的字符串内容,可以传入字符串、正则表达式、列表
2)find():返回第一个匹配结果

用法与find_all()一样

3)select():CSS选择器,返回列表
  • 标签名不加任何修饰,类名前加.,id名前加#
    标签选择器:soup.select('title')
    类选择器:soup.select('.sister')
    id选择器:soup.select('#link1')
    属性选择器:soup.select('a[class="sister"]')
4)get_text():获取文本
5)get('属性名字'):获取属性

你可能感兴趣的:(10-数据提取-BS4(美味汤))