1 - 导入模块
from bs4 import BeautifulSoup
2 - 创建对象
fp = open(‘./test.html‘,‘r‘,encoding=‘utf-8‘) soup = BeautifulSoup(fp,‘lxml‘)
3 - 定位
(1)标签定位: 1)div_tag = soup.div
(2)属性定位: 1)find(只可以定位到满足要求的第一个标签): div_tag = soup.find(‘div‘,class=‘song‘) 2)findAll(定位到满足要求的所有标签): div_tag = soup.findAll(‘div‘,class_=‘song‘)
(3)选择器定位(定位到满足要求的所有标签): 1)a_tag = soup.select(‘#feng‘) 2)层级选择器(>表示一个层级,空格表示多个层级): li_tag = soup.select(‘.tang > ul > li‘) li_tag = soup.select(‘.tang li‘)
4 - 数据提取
a_tag = soup.findAll(‘a‘,id=‘feng‘)[0] print(a_tag.string) #取直系文本内容 print(a_tag.text) #取所有的文本内容 print(a_tag[‘href‘]) #取属性值
原文:https://www.cnblogs.com/zhangyh-blog/p/14741929.html