📢📢📢📣📣📣 🌻🌻🌻Hello,大家好我叫是Dream呀,一个有趣的Python博主,小白一枚,多多关照😜😜😜 🏅🏅🏅CSDN Python领域新星创作者,大二在读,欢迎大家找我合作学习 💕入门须知:这片乐园从不缺乏天才,努力才是你的最终入场券!🚀🚀🚀 💓最后,愿我们都能在看不到的地方闪闪发光,一起加油进步🍺🍺🍺 🍉🍉🍉“一万次悲伤,依然会有Dream,我一直在最温暖的地方等你”,唱的就是我!哈哈哈~🌈🌈🌈 🌟🌟🌟???
前言: 越来越发现学爬虫就像找女朋友一样,慢慢来,找到合适的机会才能拿下!让我们来先把爬虫拿下吧!
一、拿下她的必要准备
1.构建页面:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<div>
<ul>
<li id="l1">张三</li>
<li id="l2">李四</li>
<li>王五</li>
<a href="" id=""class="a1">尚硅谷</a>
<span>嘿嘿嘿</span>
</ul>
</div>
<a href="" title="a2">百度</a>
<div id="d1">
哈哈哈很牛哇
</div>
<p id="p1" class="p1">哈哈哈哈嘿嘿嘿</p>
</body>
</html>
2.知识储备:
from bs4 import BeautifulSoup
soup = BeautifulSoup(open('bs4基本使用.html',encoding='utf-8'),'lxml')
obj = soup.select('#p1')[0]
print(obj.attrs.get('class'))
二、冬天的第一杯星巴克送给你!
1.开启寻她之路
首先,进入星巴克官网:星巴克,然后进入主页的菜单界面,找到星巴克的一些种类!
2.找到我喜欢的那个她
单击右键进行检查然后刷新界面: 在解析的网络模块数据中,我们看到了menu这个东西,我深深地被她吸引了,所以说我打算试一试,看看到底是啥吸引了我! 在她的预览中心,我们可以看到,有很多不同种类的咖啡: 然后在标头中找到我们需要的接口,来对她进行更深一步的了解:
3.更加深入的了解她的内心
1.尝试直接进入,看看她是否对我有防备
通过给定的接口直接进入:
import urllib.request
url = 'https://www.starbucks.com.cn/menu/'
response = urllib.request.urlopen(url)
content = response.read().decode('utf-8')
print(content)
得到我们的数据: 点击ctrl+F 搜索一下之前页面上的第一杯奶茶:阿馥奇朵 看看有没有: 我们可以看到找到了!
2.更加一步解析她的内心
对她大概有了一个了解之后,我们要深入到她的各个品性中去,我们她的每一个品性进行深入了解! 进一步分析,我们可以获取各类咖啡的不同解析位置: 这些标签里面的的小标签分别代表不同类型咖啡里面的不同名称。 进一步使用我的Xpath获取数据具体内容: xpath不懂的同学自觉看:??1024不孤单!??Xpath爬虫——你最忠实的伴侣:老规矩给我一分钟,万字教你入手Xpath!? 获取具体内容:
4.初步打开心扉
按照我们刚才的步骤,使用bs4整理一下我们的思路代码:
import urllib.request
url = 'https://www.starbucks.com.cn/menu/'
response = urllib.request.urlopen(url)
content = response.read().decode('utf-8')
from bs4 import BeautifulSoup
soup = BeautifulSoup(content,'lxml')
name_list = soup.select('ul[class="grid padded-3 product"] strong')
print(name_list)
得到:
5.分析完毕,直接拿下!!!
import urllib.request
url = 'https://www.starbucks.com.cn/menu/'
response = urllib.request.urlopen(url)
content = response.read().decode('utf-8')
from bs4 import BeautifulSoup
soup = BeautifulSoup(content,'lxml')
name_list = soup.select('ul[class="grid padded-3 product"] strong')
for name in name_list:
print(name.string)
获取其中的字符串:
for name in name_list:
print(name.string)
print(name.get_text())
??往期文章推荐??:
还看不懂Python OpenCV?不,我不允许!隔壁大爷都说看得懂!??环境配置+问题分析+视频图像入门??万字只为你~
Python OpenCV实战画图——这次一定能行!爆肝万字,建议点赞收藏~??????
??大家中秋节快乐??接下来请欣赏Python Opencv实战之图像阈值和模糊处理,万字实战,收藏起来吧~
Python OpenCV ??超级有趣?? 颜色转换 + 几何变换,一网打尽???~
Python OpenCV图像处理:??转换+梯度??边缘检测+图像融合,aplacian金字塔合成新物种
🌲🌲🌲 好啦,这就是今天要分享给大家的全部内容了 ??????如果你喜欢的话,就不要吝惜你的一键三连了~
|