首頁 >後端開發 >Python教學 >詳解用python的BeautifulSoup分析html方法

詳解用python的BeautifulSoup分析html方法

高洛峰
高洛峰原創
2017-03-31 11:36:531581瀏覽

1) 搜尋tag:

find(tagname)        # 直接搜尋名為tagname的tag 如:find('head')
find (list)           # 搜尋在list中的tag,如: find(['head', 'body'])
find(dict)       {'head':True, 'body':True})
find(re.compile('')) # 搜尋符合正規則的tag, 如:find(re.compile('^p')) 搜尋以p開頭的tag
find(lambda)         # 搜尋函數返回結果為true的tag, 如:find(lambda name: if len(name) == 1) 搜尋長度為1的tag
find(True)           # 搜尋所有tag

2) 搜尋文字(text)

3) recursive, limit:

from bs4 import BeautifulSoup
import re
 
doc = ['<html><head><title>Page title</title></head>',
       '<body><p id="firstpara" align="center">This is paragraph <b>one</b>.',
       '<p id="secondpara" align="blah">This is paragraph <b>two</b>.',
       '</html>']
soup = BeautifulSoup(''.join(doc))
 
print soup.prettify()+"\n"
print soup.findAll('b')
 
print soup.findAll(text=re.compile("paragraph"))
print soup.findAll(text=True)
print soup.findAll(text=lambda(x):len(x)<12)
 
a = soup.findAll(re.compile('^b'))
print [tag.name for tag in a]
 
print [tag.name for tag in soup.html.findAll()]
print [tag.name for tag in soup.html.findAll(recursive=False)]
 
print soup.findAll('p',limit=1)

以上是詳解用python的BeautifulSoup分析html方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn