python爬蟲數據提取之bs4的使用方法


Beautiful Soup的使用

1.下載

pip install bs4 
pip install lxml # 解析器 官方推薦

2.引用方法

from bs4 import BeautifulSoup # 引入我們的主題

3.解析原理

  • 實例化一個BeautifulSoup的對象,並且將即將被解析的頁面源碼數據加載到該對象中
  • 調用BeautifulSoup對象中的相關屬性和方法進行標簽定位和數據提取

4.使用方法

將一段文檔傳入BeautifulSoup 的構造方法,就能得到一個文檔的對象, 可以傳入一段字符串或一個文件句柄

soup = BeautifulSoup(open("index.html"),'lxml') # 文件句柄

soup = BeautifulSoup("<html>data</html>",'lxml') # 網頁源數據
  • tag

    純標簽定位

    soup.tagName:定位到第一個TagName標簽,返回的是單數
    

    屬性定位

    屬性定位:soup.find('tagName',attrName='value'),返回也是單數(第一個元素)
    find_all:和find用法一致,但是返回值是列表
    注:attrname中查詢class字段為class_,id為id
    
  • selector

    返回值為列表

    選擇器定位:select('選擇器')
    返回值類型為bs4.element.ResultSet
    標簽,類,id,層級(>:一個層級,空格:多個層級)
    
  • 提取數據

    • 取文本
      • tag.string:標簽中直系的文本內容
      • tag.text:標簽中所有的文本內容
    • 取屬性
      • tag['attrName']

5.注意事項

只有bs4.element.Tag對象才擁有上述的方法和屬性,select返回的對象集合是不具有該屬性和方法,通過索引拿到對應的Tag對象才能進行數據提取操作


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM