Beautiful Soup库入门

1.本周学习内容思维导图

Beautiful Soup库入门.png

2.Beautiful Soup 解析器

解析器.png

3.Beautiful Soup 类及其基本元素

简略地说,Beautiful Soup类就是对应网站的标签树,或者说
HTML文件

Beautiful Soup的基本元素可见下表

BeautifulSoup基本元素.png
  • Tag
    先看一段代码
>>> import requests
>>> from bs4 import BeautifulSoup
>>> r = requests.get('http://www.baidu.com')
>>> soup = BeautifulSoup(r.text, 'html.parser')
>>> soup.a
<a class="mnav" href="http://news.baidu.com"     name="tj_trnews">��</a>
>>> soup.p
<p id="lh"> <a href="http://home.baidu.com">å
³äº�ç�¾åº¦</a> <a href="http://ir.baidu.com">About Baidu</a> </p>

在上面的代码中,我们通过requests.get()方法获得百度链接,然后将r.text熬成一锅汤(soup),使其成为BeautifulSoup类的实例soup
soup.a就是返回一个叫做aTag,若Soup里面有多个叫a的标签,则返回第一个

  • Name
>>> soup.a.name  # 返回标签a的名字
'a'
  • Attributes
>>> soup.a.attrs
{'href': 'http://news.baidu.com', 'name': 'tj_trnews', 'class': ['mnav']}

返回a标签的属性,以字典的形式存储

  • NavigableString
>>> soup.a.string
'æ\x96°é\x97»'

返回标签里面<>..</>中的字符串

  • Comment
comment.png

4.HTML基本格式

HTML基本格式.png
  • 下行遍历
下行遍历.png
  • 上行遍历
上行遍历.png
  • 平行遍历
平行遍历.png

5.信息标记

信息标记有三种种类XML,JSON,YAML

  • XML
<person>
    <firstName>Ming</firstName>
    <lastName>Li</lastName>
    <address>
        <streetAddr>孝陵卫200号</streetAddr>
        <city>南京</city>
        <zipcode>210094</zipcode>
    </address>
</person>
  • JSON
"key":"value"
"key":["value1","value2"]
"key":{"subkey":"subvalues"}
  • YAML
key : value
key : #Comment
-value1
-value2
key:
  subkey : subvalue
Paste_Image.png

6.<>find_all()函数及其拓展

Paste_Image.png

返回内容以列表形式存储

注意 : 以下表达方法等价

Paste_Image.png

其他拓展的find方法

Paste_Image.png

7.参考

http://www.icourse163.org/course/BIT-1001870001

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容