如何用python从html文件中的javascript语句中提取这样的文本

2024-03-29 12:17:33 发布

您现在位置:Python中文网/ 问答频道 /正文

我是新的网页抓取编码。我使用python解析html文件,我使用的包是beauthoulsoup。现在我想提取一些特定的数字,比如$mwidgetHelper.setTitle('Posts (1)')中的1$mwidgetHelper.setTitle('Notes (1)')中的{},以及这个html文件中hover_boxes.hoverize_link('user_638166_451203', 'user_profile')下的user_638166_451203文本。问题是我不确定应该使用哪些方法来解析这些元素。代码如下:

<script>

      newDiv = document.createElement("div");
      newDiv.id = $mwidgetManager.getTitleId();
      newDiv.className = 'mw_title widget_title ' + $mwidgetManager.getTitleId();
      newDiv.innerHTML = "About Me";
      $p('ppwt_1').appendChild(newDiv);

      $mwidgetHelper.setTitle('About kk');
      $mwidgetManager.nextApp();

      newDiv = document.createElement("div");
      newDiv.id = $mwidgetManager.getTitleId();
      newDiv.className = 'mw_title widget_title ' + $mwidgetManager.getTitleId();
      newDiv.innerHTML = "Status";
      $p('ppwt_11').appendChild(newDiv);

      $mwidgetHelper.setTitle('Posts (1)');
      $mwidgetHelper.setSubtitle('<a href=\"/user_posts/list/9\">See All<\/a>');
      $mwidgetManager.nextApp();


      $mwidgetHelper.setTitle('Notes (1)');
      $mwidgetHelper.setSubtitle('<a href=\"/notes/list/9\">See All<\/a>');

     //<![CDATA[
          hover_boxes.hoverize_link('user_638166_451203', 'user_profile');
     //]]>

</script>

谢谢!在


Tags: 文件titlehtmllinknotespostsuserhover
1条回答
网友
1楼 · 发布于 2024-03-29 12:17:33

Beautiful Soup最好用于解析HTML树,而不是JavaScript源代码。看一下源代码,我觉得JavaScript确实改变了DOM,所以您可以使用Beautiful Soup通过检查所需的元素来获取HTML中的更改。在

编辑:下面是如何解析所需的HTML。右键单击你想在Chrome中解析的元素并选择“Inspect element”。现在应该突出显示相应屏幕元素的HTML。然后,可以使用元素属性(id、class等)使用beautifulsoup来获取数据。在

希望这有帮助。如果你还有什么疑问,尽管问。在

相关问题 更多 >