这是我提供的html的代码内容用于练习css选择器,需要将该html文件保存到下面python文件的同一文件夹下。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>旅游景点推荐</title>
</head>
<body>
<span>1</span>
<span>2</span>
<span>3</span>
<span>4</span>
<span>5</span>
<div class="wrap">
<div class="nav">
<ul>
<li><a href="http://www.baidu.com">景点介绍</a></li>
<li><a href="http://www.baidu.com">自然环境</a></li>
<li><a href="http://www.baidu.com">旅游指南</a></li>
<li><a href="http://www.baidu.com">住宿酒店</a></li>
<li><a href="http://www.baidu.com">联系我们</a></li>
</ul>
<div class="icon">
<img src="https://img2.baidu.com/it/u=529190593,1757910568&fm=253&fmt=auto&app=138&f=JPEG?w=667&h=500">
</div>
</div>
<div class="content">
<div class="leftcontent">
</div>
<div id="rightcontent">
<h3>沂蒙山</h3>
<p class="top" id="content">沂蒙山作为人文地理概念指“沂蒙山区”,是以蒙山山系和沂河流域为地质坐标的地理区域 [1]。历史上属于东夷文明,是古青州海岱文化的重要组成部分。</p>
<p>沂蒙山作为旅游概念指“沂蒙山旅游区”,是位于山东临沂、潍坊等地的沂山景区、蒙山龟蒙景区、蒙山云蒙景区三个景区,有沂山、蒙山等山峰。主峰龟蒙顶海拔1156米位于蒙山,是山东省第一大山和第二高山
[2], [3]是世界文化遗产齐长城所在地、世界著名养生长寿圣地,现为国家5A级旅游景区。</p>
<p>沂蒙山作为地质公园概念,指的是由临沂市人民政府派出机构沂蒙山世界地质公园管理局管理的,
[5]以山东临沂境内蒙山为主体,沿沂沭断裂带分布的钻石园区、岱崮园区、孟良崮园区和云蒙湖园区所构成的“沂蒙山国家地质公园” [6]和“沂蒙山世界地质公园”。</p>
</div>
</div>
</div>
</body>
</html>下面是python爬虫文件内容有注释,可以自己去掉注释自己练习
import parsel
f = open("旅游项目.html",mode="r",encoding='utf-8')
html = f.read()
selector = parsel.Selector(html)
'''标签选择器'''
'''get() 从提取的selector对象中获取第一个标签,返回的是字符串
getall() 从提取的selector对象中获取所有标签,返回列表'''
# p = selector.css('p').get()
# p = selector.css('p').getall()
'''for i in p:
print(i)
然后用for循环遍历出列表内容'''
# print(p)
'''类选择器'''
'''类选择器是精确定位'''
# result = selector.css('.content').getall()
# print(result)
'''ID选择器'''
# result = selector.css('#rightcontent').getall()
# print(result)
'''组合选择器'''
# result = selector.css('p#').getall()
# print(result)
'''属性提取器'''
# result = selector.css('p::text').getall()
# for i in result:
# print(i)
# result = selector.css('a::attr(href)').getall()
# for i in result:
# print(i)
'''伪类选择器'''
result = selector.css('span:nth-child(2)::text').getall()
print(result)练习完上面的内容基本就会数据分析css选择器了
python css选择器解析网页要比re和bs4要简单的多,效率也要更高,对于新手来说要容易上手操作。
代码可以直接复制
如果有啥问题可以问我看到一定会回复大家,如果大家喜欢可以作者点赞和关注
大家的支持是我创作下去的最大动力!
















