首页 > 代码库 > 用python的BeautifulSoup分析html
用python的BeautifulSoup分析html
http://www.cnblogs.com/twinsclover/archive/2012/04/26/2471704.html 用python的BeautifulSoup分析html
http://www.crummy.com/software/BeautifulSoup/bs3/documentation.zh.html Beautiful Soup 中文文档
1) 搜索tag:
find(tagname) # 直接搜索名为tagname的tag 如:find(‘head‘)
find(list) # 搜索在list中的tag,如: find([‘head‘, ‘body‘])
find(dict) # 搜索在dict中的tag,如:find({‘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)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。