当前位置 博文首页 > 孤寒者的博客:Python万字博文教你玩透Beautiful Soup库,不信你

    孤寒者的博客:Python万字博文教你玩透Beautiful Soup库,不信你

    作者:[db:作者] 时间:2021-07-25 12:31

    ?👻👻相信不少小伙伴们通过我的两篇万字博文的轮番轰炸已经实现了从入坑到会完全学会requests库,并且可以独立开发出属于自己的小爬虫项目!!!——爬虫之路,永无止境~👻👻
    ?


    ??第一篇爬虫入坑:一篇万字博文带你入坑爬虫这条不归路(你还在犹豫什么&抓紧上车) 【??熬夜整理&建议收藏??】
    ??第二篇爬虫库requests库详解:两万字博文教你python爬虫requests库,看完还不会我把我女朋友都给你【??熬夜整理&建议收藏??】

    ?


    ?😬😬那么,第二步就是从页面解析到我们想要的数据!相信小伙伴们通过我的后两篇万字博文的轮番轰炸已经深刻地学会了网页(HTML)结构,并能够通过XPath熟练的进行页面解析。但是又有小伙伴说了——有些网页里的数据藏得深啊!靠XPath搞不出来啊怎么办呢?😬😬
    ?


    ??网页结构HTML必备知识总结文:前端HTML两万字图文大总结,快来看看你会多少!【??熬夜整理&建议收藏??】
    ??第一个解析库XPath库详解:万字博文教你python爬虫必备XPath库,看完还不会我把我女朋友都给你【??建议收藏系列??】


    ?😜😜解析不出来数据,原因无非有二:一是你功力不够(要多加练习哦!);二是XPath也不是万能的,终究有它也不行的时候(虽然它已经够牛笔了!)。所以,应粉丝们需求——本博主再来传授一技绝学:Beautiful Soup!!!😜😜

    在这里插入图片描述


    ?????????????重点来啦!重点来啦!! 💗💗💗

    ??对于一个网页来说,都有一定的特殊结构和层级关系,而且很多节点都有id或class来做区分,所以借助它们的结构和属性来提取不是很香吗?说的好!Beautiful Soup这一强大的解析工具,它就是因此而诞生的,它就是借助网页的结构和属性等特性来解析网页的哦!下面我们就来走进Beautiful Soup的世界!

    学好解析库,网页数据任我取!!!


    ??Beautiful Soup万字博文详解??

    • 1.BeautifulSoup
      • (1)简介:
      • (2)安装:
      • (3)解析器:
      • (4)实例引入:
      • (5)各种常用操作/选择器详解:
        • 初级阶段——必备操作:
          • 1.练气期——基操勿6:
          • 2.筑基期——Tag对象:
            • 拓展——获取属性骚操作:
              • 1.每个节点可能有多个属性,比如id和class等,选择这个节点元素后,可以调用attrs获取所有属性:
              • 2.可以看到,attrs的返回结果是字典形式。如果要获取name属性,就相当于从字典中获取某个键值。也可以不写attrs而直接像上述一样,直接在节点元素后面加中括号,传入属性名:
              • 3.注意:有的返回字符串,有的返回结果是字符串组成的列表。**比如:name属性的值是唯一的,返回的结果就是单个字符串;而对于class,一个节点元素可能有多个class,所以返回的是列表!**
          • 3.金丹期——获取文本内容:
        • 中级阶段——关联选择:
          • 战前准备:
          • 1.元婴期——子代标签的选择:
            • ①contents
            • ②children
            • 拓展——简要讲一下NavigableString对象:
          • 2.化神期——后代标签的选择:
          • 3.炼虚期——兄弟标签的选择:
          • 4.合体期——父节点标签的选择:
            • ①parent——只能获取选中标签的父亲节点:
            • ②parents——可以获取选中标签的所有的父辈元素:
          • 5.大乘期——信息的提取:
            • ①string——提取当前节点中含有单个字符串的情况:
            • ②strings——提取当前节点中含有多个字符串的情况:
            • 骚操作——使用stripped_strings将全是空白的行去掉:
        • 究极阶段——方法选择器(渡劫期):
          • 1.通过name搜索,根据节点名查询:
          • 2.通过属性搜索,这时候我们可以通过传递给attrs一个字典参数来进行查询。
          • 3.通过文本内容搜索:
          • 4.限制查找范围为子节点:
          • 5.拓展——结合使用正则表达式进行查找:
        • 升华阶段(多重渡劫):
          • 第一部分——方法选择器:
          • 第二部分——CSS选择器:
            • 1.使用方法:
            • 2.实战讲解:
              • ①获取所有p标签:
            • ②获取p标签下面的a标签,返回结果在列表里:
    • 2.In The End!
    cs