栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

爬虫中的恋爱学心理你get了吗?一杯星巴克温暖你的整个冬天——爬虫bs4解析从入门到入坑

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

爬虫中的恋爱学心理你get了吗?一杯星巴克温暖你的整个冬天——爬虫bs4解析从入门到入坑


Hello,大家好我叫是Dream呀,一个有趣的Python博主,小白一枚,多多关照
CSDN Python领域新星创作者,大二在读,欢迎大家找我合作学习
入门须知:这片乐园从不缺乏天才,努力才是你的最终入场券!
最后,愿我们都能在看不到的地方闪闪发光,一起加油进步
“一万次悲伤,依然会有Dream,我一直在最温暖的地方等你”,唱的就是我!哈哈哈~
✨✨✨

前言:越来越发现学爬虫就像找女朋友一样,慢慢来,找到合适的机会才能拿下!让我们来先把爬虫拿下吧!

爬虫BeautifulSoup模块从入门到入坑
  • 一、拿下她的必要准备
    • 1.构建页面:
    • 2.知识储备:
  • 二、冬天的第一杯星巴克送给你!
    • 1.开启寻她之路
    • 2.找到我喜欢的那个她
    • 3.更加深入的了解她的内心
      • 1.尝试直接进入,看看她是否对我有防备
      • 2.更加一步解析她的内心
    • 4.初步打开心扉
    • 5.分析完毕,直接拿下!!!
  • ❤️往期文章推荐❤️:

一、拿下她的必要准备 1.构建页面:



    
    Title


    
百度
哈哈哈很牛哇

哈哈哈哈嘿嘿嘿

2.知识储备:
# -*-coding:utf-8 -*-
# @Author:到点了,心疼徐哥哥
# 奥利给干!!!
from bs4 import BeautifulSoup

# 通过解析本地文件 来将bs4基础语法进行讲解
# 默认打开的文件的编码格式为gbk 打开文件时需要指定编码
soup = BeautifulSoup(open('bs4基本使用.html',encoding='utf-8'),'lxml')
# print(soup)
# 根据标签名查找节点
# 找到的是第一个符合条件的数据
# print(soup.a)
# 获取标签的属性和属性值
# print(soup.a.attrs)

# bs4的一些函数
# (1)find
# 返回的是第一个符合条件的数据
# print(soup.find('a'))
# 根据title的值来找到对应的
# print(soup.find('a',title="a2"))  # 百度
# print(soup.find('a',))  #  class是关键字,不能用。相当于古代皇帝叫这个名字,你不能用
# 根据class的值来找到对应的标签对象,注意的是class需要添加下划线
# print(soup.find('a',class_="a1"))  # 尚硅谷

# (2)find_all # 返回的是一个列表,并且返回所有的a标签
# print(soup.find_all('a'))# [尚硅谷, 百度]
# 如果想要获取的是多个标签的数据,那么需要在find_all的参数中添加的是列表的数据。
# print(soup.find_all(['a','span']))  # [尚硅谷, 嘿嘿嘿, 百度]
# limit查找前几个数据
# print(soup.find_all('li',limit=2))  # [
  • 张三
  • ,
  • 李四
  • ] # (3)select(推荐) # select方法返回列表和多个数据 # print(soup.select('a')) # [尚硅谷, 百度] # 可以通过.代表class 我们把这种操作叫做类选择器 # print(soup.select('.a1')) # [尚硅谷] # print(soup.select('#l1')) # [
  • 张三
  • ] # 属性选择器 # 查找li标签中有id的标签 # print(soup.select('li[id]')) # [
  • 张三
  • ,
  • 李四
  • ] # 查找到li标签中id为l2的标签 # print(soup.select('li[id="l2"]')) # [
  • 李四
  • ] # 层级选择器 # 后代选择器 # 找到的是div下面的li # print(soup.select('div li')) # [
  • 张三
  • ,
  • 李四
  • ,
  • 王五
  • ] # 子代选择器 # 某标签的第一级子标签 # 注意:很多的计算机编程语言中。如果不加空格不会输出内容 但是bs4中 不会报错 会显示内容 # print(soup.select('div > ul > li')) # [
  • 张三
  • ,
  • 李四
  • ,
  • 王五
  • ] # 找到a标签和li标签 # print(soup.select('a,li')) # [
  • 张三
  • ,
  • 李四
  • ,
  • 王五
  • , 尚硅谷, 百度] # 节点信息 # 获取节点内容 # obj = soup.select('#d1')[0] # 如果标签对象中 只有内容 那么string和get_text()都可以使用 # 如果标签对象中 除了内容还有标签 那么string就获取不到数据 而get_text()是可以获取数据 # 我们一般情况下 推荐使用get_text() # print(obj.string) # print(obj.get_text()) # 节点属性 # obj = soup.select('#p1')[0] # name是标签的名字 # print(obj.name) # 将属性值作为一个字典返回 # print(obj.attrs) # 获取节点的属性 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')
    # print(content)
    from bs4 import BeautifulSoup
    soup = BeautifulSoup(content,'lxml')
    # //ul[@]//strong/text()
    name_list = soup.select('ul[] 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')
    # print(content)
    from bs4 import BeautifulSoup
    soup = BeautifulSoup(content,'lxml')
    # //ul[@]//strong/text()
    name_list = soup.select('ul[] strong')
    # print(name_list)
    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金字塔合成新物种

     好啦,这就是今天要分享给大家的全部内容了
    ❤️❤️❤️如果你喜欢的话,就不要吝惜你的一键三连了~

    转载请注明:文章转载自 www.mshxw.com
    本文地址:https://www.mshxw.com/it/503482.html
    我们一直用心在做
    关于我们 文章归档 网站地图 联系我们

    版权所有 (c)2021-2022 MSHXW.COM

    ICP备案号:晋ICP备2021003244-6号