0

我是网络抓取编码的新手。我正在使用 python 来解析 html 文件,我使用的包是 BeautifulSoup。现在我想在这个 html 文件的标签下提取某些数字,如in 、in1$mwidgetHelper.setTitle('Posts (1)')in1$mwidgetHelper.setTitle('Notes (1)')文本。问题是我不确定应该使用哪些方法来解析这些元素。代码如下:user_638166_451203hover_boxes.hoverize_link('user_638166_451203', 'user_profile')<script>

<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>

谢谢!

4

1 回答 1

0

Beautiful Soup 最适合用于解析 HTML 树,而不是 JavaScript 源代码。看源代码,我觉得 JavaScript确实改变了 DOM,所以你可以使用 Beautiful Soup 通过检查所需的元素来抓取 HTML 中的变化。

编辑:这是解析所需 HTML 的方法。右键单击要在 Chrome 中解析的元素,然后选择“检查元素”。现在应该突出显示相应屏幕元素的 HTML。然后,您可以使用 Beautiful Soup 使用元素属性(id、类等)来抓取数据。

希望这可以帮助。如果您还有其他疑问,请随时提问。

于 2013-07-16T03:08:46.097 回答