python之BeautifulSoup标签查找数据

BeautifulSoup常用查询方法归类:

import urllib.request

from bs4 import BeautifulSoup

bs = BeautifulSoup(html,"html.parser")

一、四类主要节点

bs.title #通过标签获取标签 Tag

bs.title.string或bs.title.get_text() #通过标签获取标签里面的内容 NavigableString

bs.a.attrs #获取标签里面的所有属性

bs #获取文档所有内容 BeautifulSoup

二、文档的遍历

contents:contents属性可以将tag的子节点以列表的形式输出(不止tag还有navgableString)

for item in bs.head.contents:

    print(item)

三、文档的搜索

#find_all通过字符串匹配某个标签,返回一个列表

a_list = bs.find_all('a')

#通过正则表达式搜索标签,返回一个列表

b_list = bs.find_all(re.compile('a'))

#通过kwargs传入的参数查询

d_list = bs.find_all(id='doubanapp-tip')

d_list = bs.find_all(class_True)

d_list = bs.find_all(href="https://www.baidu.com")

#通过text参数查询

e_list = bs.find_all(text='豆瓣')

e_list = bs.find_all(text=['泰坦尼克号','赎罪'])

e_list = bs.find_all(text = re.compile('\d'))

#通过limit限制显示数据数量

f_list = bs.find_all('a',limit=3)

四、CSS选择器

#1.通过标签查询

g_list = bs.select('a')

#2.通过类名查询

g_list = bs.select('.title')

#3.通过id查询

g_list = bs.select('#tip')

#4.通过属性查询

g_list = bs.select("a[class='tip']")

#5.通过子标签来查询

g_list = bs.select("head > meta >title")

#6.通过兄弟节点查询

g_list = bs.select("meta ~ link")

 

上一篇:使用BeautifulSoup高效解析网页,再也不用担心睡不着觉了


下一篇:python爬虫简单实战(三)