分享
三行代码  ›  专栏  ›  技术社区  ›  Andy_ye

有没有办法用python从html中的javascript获取数据

  •  0
  • Andy_ye  · 技术社区  · 1 周前

    这是我使用请求时得到的html脚本。

    <script type="text/javascript">
    $(document).ready(function(){
            data = [{"str":"안녕하세요+저는+예상우+입니다","errInfo":[{"help":"입력 오류입니다.","errorIdx":0,"correctMethod":1,"start":9,"end":12,"orgStr":"예상우","candWord":"예상외"}],"idx":0}];
            pageIdx = 0;
            /*<![CDATA[*/
            if(1){
                    totalPageCnt = 1;
            }
            /*]]>*/
            data = eval(data);
    
            makeHTML(0);
    
            if(totalPageCnt != 1){
                    if(pageIdx == 0){
                            toast("총 " +totalPageCnt+"페이지입니다. 아래 화살표를 이용해 이동해주세요.");
                    }
    
                    document.getElementById('pageAnnounce').innerHTML = "총 " +totalPageCnt+"페이지 중 " + (pageIdx+1) +"페이지입니다.<br>화살표를 눌러 페이지를 이동해주세요.";
            }
    });
    </script>
    

    我想得到 str , help errorIdx , correctMethod , start , end orgStr , candWord 从这个带有python的javascript。我该怎么做?

    2 回复  |  直到 1 周前
        1
  •  1
  •   Sushanth    1 周前

    试试这个,

    import re
    import json
    from bs4 import BeautifulSoup
    
    soup = BeautifulSoup(text, "html.parser")
    
    script = soup.find('script')
    data = json.loads(re.search("data = (.*);", script.text).group(1))
    
    print(data[0]['str'])
    
    
        2
  •  0
  •   SCNU_hjt    1 周前