1 功能描述 2 pip install bs4 3 pip install lxml 4 5 1.实例化一个BeautifulSoup对象,并且将页面源代码数据加载到该对象中 6 可以将本地的html文档中的数据加载到该对象中 7 fp= open('test.html','r',encoding='utf-8') 8 soup = BeautifulSoup(fp,'lxml') 9 第一个参数为文件源代码,第二个参数为解码方式,不变 10 也可以将互联网上获取的页面源代码加载到该对象中 11 12 2.通过调用BeautifulSoup对象中的相关方法或者属性进行标签定位和数据提取 13 14 ''' 15 from bs4 import BeautifulSoup 16 fp = open('test.html','r',encoding='utf-8') 17 soup = BeautifulSoup(fp,'lxml') 18 # 提供的用于数据解析的方法或者属性有 19 #soup.tagName 标签名称 20 soup.div #返回的是文档中第一次出现的标签, 21 # soup.find('标签名称'),返回的是文档中第一次出现的标签,和soup.div效果是一样的 22 soup.find('div') 23 # 属性定位 24 # 属性为class,但是要在这个属性名是关键字,所以后面加一个下划线_ 25 # soup.find('div',class_/id/attr='song') 26 soup.find('div', class_='song') 27 # 返回所有a标签,类型为列表 28 soup.find_all('a') 29 # soup.select('.某种选择器(id,class,标签等)') 30 soup.select('.tang') 31 # 层级筛选器 32 soup.select('.tang>ul>li>a') # >表示一个层级,类似于目录,返回是列表 33 soup.select('.tang>ul>li>a')[0] #表示返回列表的第一个元素 34 soup.select('.tang>ul>li>a') 35 soup.select('.tang>ul a') # 标签ul与标签a之前有个空格,该空格表示的是多个层级,而>表示一个层级 36 # 获取标签之间的文本数据,或者属性值 37 # 调用方法或者属性 38 soup.a.text 39 soup.a.string 40 soup.a.get_text() 41 # 区别是:text/get_text()可以获取该标签下的所有文本内容,不是直系的也可以获取,而string只能获取该标签的直系内容。 42 soup.find_all('div', class_='song').text 43 soup.find_all('div', class_='song').string 44 # 获取该标签的属性值 45 soup.select('.tang>ul a')[0]['herf']
标签:标签,BeautifulSoup,soup,div,解析,find,select,属性 From: https://www.cnblogs.com/chengshu1258/p/17034131.html