bs4.BeautifulSoup 模塊

Beautiful Soup 4.2.0 文檔

安裝:

pip install bs4
  • 需要將pip源設置爲國內源
  • windows 在地址欄敲 %appdata%,新建一個文件夾叫pip,寫一個pip.ini。
[global]
timeout = 6000
index-url = https://mirrors.aliyun.com/pypi/simple/
trusted-host = mirrors.aliyun.com

使用:

bs4包的BeautifulSoup模塊 是一個選擇器

from bs4 import BeautifulSoup

使用方式:BeautifulSoup可以將一個html文檔轉化成指定對象,然後通過對象的方法或者屬性去查找指定的內容

1)轉化本地文件:

soup = BeautifulSoup(open("本地文件"),"lxml")

2)轉化網絡文件:

soup = BeautifulSoup("字符串類型或者字節類型","lxml")

 

常用方法:

1) 根據標籤名查找
    soup.a    只能找到第一個符合要求的標籤
2) 獲取屬性
    soup.a["屬性名,如 href"]
    soup.div.a.attrs    # 獲得所有的屬性和值,字典形式  soup.div.a.attrs["屬性"] 等同於上面
3) 獲取內容
    soup.div.a.text           # 定位的所有文本內容
    soup.div.a.string    # 只有標籤內是隻有(直系)文本內容纔可以獲取到,否則就是None
    soup.div.a.get_text()
4) find
    soup.find("a")    # 找到第一個 a
        還可以尋找指定標籤:
            <li><a href="#" id="miao">a</a></li>
            print(soup.find("a",id="miao"))    # 不能根據class 去尋找,需要使用 class_ 
    find方法大不僅soup可以調用,普通的div對象也可以調用,去指定的div裏面去查找符合要求的節點
    find得到的都是第一個符合要求的標籤
5) find_all
    soup.find_all("a")    # 返回一個指定節點內所有滿足(a標籤)的列表。
    soup.find_all(["a","p"])    # 返回一個指定節點內所有滿足(a標籤和p標籤)的列表。
    soup.find_all("a",limit=2)    # 返回一個指定節點內所有滿足(a標籤)的列表 的前兩個。
6) select
    soup.select(".tang ul li #miao")    # 裏面的語句就可以按照 css中的選擇器進行查找    返回的是列表,需要通過下標提取指定的對象,然後獲取屬性和節點
    普通方法也可以調用,找到都是這個對象下面符合要求的所有的節點

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章