BeautifuSoup整理笔记

find直接返回结果,select和find_all返回list

soup.title => tag

tag.name => tag_name

find/find_all用法基本相同

find_all(过滤器)

过滤器:

1 字符串

2 正则表达式

3 列表

4 方法

5 True

参数:find_all(nam,attrs,recursive,text,**kwargs)

find_all(attrs={'name':'maintain'}) #使用字典传入多个属性,可以选择使用tag.name or 不用 : a = s.find_all('a',attrs={'href':'#id4','class':'headerlink'})

find_all(class_='link-list') ; find_all('p',class_='link-list')

find_all(text = 'Overview') => 字符串; find_all('p',text = 'Overview') => [tag],tag 的内容是字符'Overview'; find_all('p',text = re.compile('Beautiful')) =>[tag],tag文本内容包含'Beautiful'

limit 参数:

tag.find_all('a',limit=2)

recursive 参数:

True(默认):检索当前tag所有子孙节点

False:只检索当前所有直接子节点

其他find/find_all:

find_parent()/find_parents(); find_next_sibling()/find_next_siblings(); find_next()/find_all_next(); find_previous()/find_all_previous()

css 选择器(select()):

返回list

直接子节点: tag.select('head > title')

通过类名查找: tag.select('.main-content') 通过id查找: tag.select('#id')

通过是否存在某个属性查找: tag.select('a[href]') #注意href没有引号 tag.select('tr[algin]')

通过属性值来查找: tag.select('a[name="ain-content"]')

修改文档树:

append()方法,用法同python:

fo a.append('bar')  => fobar

更深入方法请查看BeautifulSoup官方文档

你可能感兴趣的:(python,BeautifulSoup,python,select,tag,BeautifulSoup,爬虫)