BeautifulSoup
BeautifulSoup
print(soup.find_all('div'))
[
百里守约
, , ]
CSS选择器 select
print(soup.find_all('div'))[
百里守约
, , ]通过select()直接传入CSS选择器即可完成选择
1、select('某种选择器(id,class,标签...选择器)'),返回的是一个列表
2、层级选择器:
-soup.select(''):>表示的是一个层级
-soup.select():空格标示的是多个层级
html='''
Hello
- Foo
- Bar
- Jay
- Foo
- Bar
'''
from bs4 import BeautifulSoup
soup = BeautifulSoup(html, 'lxml')
print(soup.select('.panel .panel-heading'))
print(soup.select('ul li'))
print(soup.select('#list-2 .element')) #id加#,class加.,标签名什么不加
print(soup.select('ul')[0])
[
Hello
]
[Foo , Bar , Jay , Foo , Bar ]
[Foo , Bar ]
- Foo
- Bar
- Jay
from bs4 import BeautifulSoup
fp=open('./test.html','r',encoding='utf-8')
soup=BeautifulSoup(fp,'lxml')
# print(soup.select('.tang'))
print(soup.select('.tang>ul>li>a'))
查看代码
[清明时节雨纷纷,路上行人欲断魂,借问酒家何处有,牧童遥指杏花村, 秦时明月汉时关,万里长征人未还,但使龙城飞将在,不教胡马度阴山, 岐王宅里寻常见,崔九堂前几度闻,正是江南好风景,落花时节又逢君, 杜甫, 杜牧, 凤凰台上凤凰游,凤去台空江自流,吴宫花草埋幽径,晋代衣冠成古丘]
from bs4 import BeautifulSoup
fp=open('./test.html','r',encoding='utf-8')
soup=BeautifulSoup(fp,'lxml')
print(soup.select('.tang>ul a'))
[清明时节雨纷纷,路上行人欲断魂,借问酒家何处有,牧童遥指杏花村, 秦时明月汉时关,万里长征人未还,但使龙城飞将在,不教胡马度阴山, 岐王宅里寻常见,崔九堂前几度闻,正是江南好风景,落花时节又逢君, 杜甫, 杜牧, 凤凰台上凤凰游,凤去台空江自流,吴宫花草埋幽径,晋代衣冠成古丘]
获取标签之间的文本数据
1、soup.a.text/string/get_text()
-text/get_text():可以获取一个标签中所有的文本内容
-string:只可以获取该标签下面直系的文本内容
from bs4 import BeautifulSoup
fp=open('./test.html','r',encoding='utf-8')
soup=BeautifulSoup(fp,'lxml')
print(soup.select('.tang>ul a')[0].text)
print(soup.select('.tang>ul')[0].text)
清明时节雨纷纷,路上行人欲断魂,借问酒家何处有,牧童遥指杏花村
?
清明时节雨纷纷,路上行人欲断魂,借问酒家何处有,牧童遥指杏花村
秦时明月汉时关,万里长征人未还,但使龙城飞将在,不教胡马度阴山
岐王宅里寻常见,崔九堂前几度闻,正是江南好风景,落花时节又逢君
杜甫
杜牧
杜小月
度蜜月
凤凰台上凤凰游,凤去台空江自流,吴宫花草埋幽径,晋代衣冠成古丘
获取标签中的属性值
soup.a['href']
from bs4 import BeautifulSoup
fp=open('./test.html','r',encoding='utf-8')
soup=BeautifulSoup(fp,'lxml')
print(soup.select('.tang>ul a')[0]['href'])
http://www.baidu.com
?