【问题标题】:How To Parse Json Html in BeautifulSoup如何在 BeautifulSoup 中解析 Json Html
【发布时间】:2021-02-18 00:07:43
【问题描述】:

目前我有以下

<script>window.__NUXT__=(function(a,b,c,d,e,f,g,h,i){i.date="2020-11-05 09:22:56.000000";i.timezone_type=d;i.timezone="UTC";return {layout:"default",data:[{}],error:a,state:{languages:{text:{},javascript:{mime:"text\u002Fjavascript"},css:{mime:"text\u002Fcss"},html:{directory:"htmlmixed",mime:"text\u002Fhtml"},vue:{directory:"vue",mime:"text\u002Fx-vue"},php:{directory:"php",mime:"application\u002Fx-httpd-php"},c:{directory:b,mime:"text\u002Fx-c++src"},csharp:{directory:b,mime:"text\u002Fx-csharp"},java:{directory:b,mime:"text\u002Fx-java"},lua:{directory:"lua",mime:"text\u002Fx-lua"},golang:{directory:"go",mime:"text\u002Fx-go"},dockerfile:{directory:"dockerfile",mime:"text\u002Fx-dockerfile"}},pastes:{liWq2S3:{status:c,id:e,title:f,paste:g,views:d,syntax:a,size:h,created_at:i}},paste:{title:f,status:c,id:e,paste:g,views:d,syntax:a,size:h,created_at:i}},serverRendered:c}}(null,"clike",true,3,"liWq2S3","Soup","Apple\nOrange\nCake\nPizza",23,{}));</script><script src="/assets/2135194c1f343036c318.js" defer></script><script src="/assets/fbb38f3d2f4d64c9376c.js" defer></script><script src="/assets/ad6678a738ac39c210fc.js" defer></script><script src="/assets/a93fe408ab9aa8104b17.js" defer></script><script src="/assets/f78a487814d7850007a6.js" defer></script>

我想解析标题(汤)和描述(Apple\nOrange\nCake\nPizza),但我似乎找不到任何资源来帮助我被困一段时间 I stumbled upon this but still can't find the solution for myself

我的代码

import requests
from bs4 import BeautifulSoup
import json

ExampleSite = "https://throwbin.io/liWq2S3"

r1 = requests.get(ExampleSite)
r1text = r1.text

soup = BeautifulSoup(r1text,features="html.parser")

ParsedSoup = soup.findAll('script')[1]

print (ParsedSoup)

【问题讨论】:

    标签: python python-3.x beautifulsoup


    【解决方案1】:

    这在我看来不像JSON,但我可能错了。但是,您可以使用 regex 来获取这些内容。

    import re
    
    import requests
    from bs4 import BeautifulSoup
    
    soup = BeautifulSoup(requests.get("https://throwbin.io/liWq2S3").text, features="html.parser")
    bins_contents = re.search(r"}\((.*)\)\);", str(soup), re.S).group(1)
    print(bins_contents.replace('"', "").split(",")[4:6])
    

    输出:

    ['Soup', 'Apple\\nOrange\\nCake\\nPizza']
    

    【讨论】:

      猜你喜欢
      • 2020-11-22
      • 1970-01-01
      • 1970-01-01
      • 2020-02-06
      • 2014-03-06
      • 2011-07-21
      • 2012-12-13
      • 2011-09-24
      • 2018-07-10
      相关资源
      最近更新 更多