基於bs4庫的HTML內容查找方法


  1、<>,find_all(name,attrs,recursive,string,**kwargs)

    返回一個列表類型,存儲查找的結果

    name:對標簽名稱的檢索字符串。

import requests
from bs4 import BeautifulSoup
import re
#BeautifulSoup是一個類
r = requests.get('http://python123.io/ws/demo.html')

print(r.text)
demo = r.text
#解析demo的解釋器
soup = BeautifulSoup(demo,'html.parser')

soup.find_all('a')
soup.find_all(['a','b'])

for tag in soup.find_all(True):
    print(tag.name)

for tag in soup.find_all(re.compile('b')):
    print(tag.name)

    attrs:對標簽屬性值得檢索字符串,可標注屬性檢索。

#承接上面的demo
soup.find_all('p','course')
soup.find_all(id='link1')
#我的demo中不包括link
soup.find_all(id='link')

soup.find_all(id=re.compile('link'))

    recursive:是否對子孫全部檢索,默認True

#返回的是一個空列表,這意味着是從soup的根節點開始,a標簽應該在子孫的后續節點中
print(soup.find_all('a',recursive=False))

    string:<>...</>中字符串區域的檢索字符串。

print(soup)
#必須精確的輸入字符串信息
print(soup.find_all(string = 'Basic Python'))
#如果希望輸入一個字符串,檢索出更多的信息
print(soup.find_all(string = re.compile('python')))

  2、簡短表示

    <tag>(..)等價於<tag>.find_all(..)

    soup(..)等價於soup.find_all(..)

  3、七個擴展方法

    

 


免責聲明!

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



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