当前位置 博文首页 > Selenium+BeautifulSoup+json获取Script标签内的json数据

    Selenium+BeautifulSoup+json获取Script标签内的json数据

    作者:诡途 时间:2021-01-31 06:03

    Selenium爬虫遇到 数据是以 JSON 字符串的形式包裹在 Script 标签中,

    假设Script标签下代码如下:

    <script  type="application/json" >
    {
      "user": {
        "isLogin": true,
        "userInfo": {
          "id": 123456,
          "nickname": "LiMing",
          "intro": "人生苦短,我用python"
        }
      }
    }
    </script>
    

    此时drive.find_elements_by_xpath('//*[@] 只能定位到元素,但是无法通过.text方法,获取Script标签下的json数据

    from bs4 import BeautifulSoup as bs
    import json as js
    #selenium获取当前页面源码
    html = drive.page_source
    #BeautifulSoup转换页面源码
    bs=BeautifulSoup(html,'lxml')
    #获取Script标签下的完整json数据,并通过json加载成字典格式
    js_test=js.loads(bs.find("script",{"id":"DATA_INFO"}).get_text())
    #获取Script标签下的nickname 值
    js_tes
    js