1.本周學習內(nèi)容思維導圖
2.Beautiful Soup 解析器
3.Beautiful Soup 類及其基本元素
簡略地說,Beautiful Soup類就是對應(yīng)網(wǎng)站的標簽樹,或者說
HTML文件
Beautiful Soup的基本元素可見下表
- 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" name="tj_trnews">??°é??</a>
>>> soup.p
<p id="lh"> <a >?
3?o?????o|</a> <a >About Baidu</a> </p>
在上面的代碼中缠捌,我們通過requests.get()
方法獲得百度鏈接脆丁,然后將r.text
熬成一鍋湯(soup),使其成為BeautifulSoup
類的實例soup
而soup.a
就是返回一個叫做a
的Tag
,若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
4.HTML基本格式
- 下行遍歷
- 上行遍歷
- 平行遍歷
5.信息標記
信息標記有三種種類XML
,JSON
,YAML
- XML
<person>
<firstName>Ming</firstName>
<lastName>Li</lastName>
<address>
<streetAddr>孝陵衛(wèi)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
6.<>find_all()
函數(shù)及其拓展
返回內(nèi)容以列表形式存儲
注意 : 以下表達方法等價
其他拓展的find方法