Wie kann ich CData aus BeautifulSoup holen

Ich habe eine Website, die ich scrape und die folgende Struktur hat. Ich möchte die Informationen aus dem CData-Block holen können.

Ich benutze BeautifulSoup, um andere Informationen von der Seite zu entfernen. Wenn die Lösung damit funktionieren kann, kann ich als Python-Neuling meine Lernkurve senken. Insbesondere möchte ich auf die zwei verschiedenen Datentypen eingehen, die in der CData-Anweisung verborgen sind. Das erste ist nur Text. Ich bin mir ziemlich sicher, dass ich einen Regex darauf werfen kann und bekomme, was ich brauche. Für den zweiten Typ kann ich das analysieren, wenn ich die Daten, die HTML-Elemente enthalten, in eine eigene schöne Suppe ablegen könnte.

Ich lerne gerade Python und Wundersuppe, also kämpfe ich darum, die magische Beschwörung zu finden, die mir nur die CData von selbst gibt.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">  
<head>  
<title>
   Cows and Sheep
  </title>
</head>
<body>
 <div id="main">
  <div id="main-precontents">
   <div id="main-contents" class="main-contents">
    <script type="text/javascript">
       //<![CDATA[var _ = g_cow;_[7654]={cowname_enus:'cows rule!',leather_quality:99,icon:'cow_level_23'};_[37357]={sheepname_enus:'baa breath',wool_quality:75,icon:'sheep_level_23'};_[39654].cowmeat_enus = '<table><tr><td><b class="q4">cows rule!</b><br></br>
       <!--ts-->
       get it now<table width="100%"><tr><td>NOW</td><th>NOW</th></tr></table><span>244 Cows</span><br></br>67 leather<br></br>68 Brains
       <!--yy-->
       <span class="q0">Cow Bonus: +9 Cow Power</span><br></br>Sheep Power 60 / 60<br></br>Sheep 88<br></br>Cow Level 555</td></tr></table>
       <!--?5695:5:40:45-->
       ';
        //]]>
      </script>
     </div>
     </div>
    </div>
 </body>
</html>

Antworten auf die Frage(5)

Ihre Antwort auf die Frage