У меня есть веб-сайт, который я соскабливаю, который имеет похожую структуру следующим образом. Я хотел бы получить информацию из блока CData.Как я могу захватить CData из BeautifulSoup
Я использую BeautifulSoup, чтобы вытащить другую информацию со страницы, поэтому, если решение может работать с этим, это поможет сохранить мою кривую обучения, поскольку я начинающий python. В частности, я хочу получить два разных типа данных, скрытых в инструкции CData. первый, который является только текстом, я уверен, что могу набросить на него регулярное выражение и получить то, что мне нужно. Для второго типа, если бы я мог удалить данные, содержащие элементы html, в свой собственный красивый порт, я могу разобрать это.
Я просто изучаю python и beautifulsoup, поэтому я изо всех сил пытаюсь найти магическое заклинание, которое даст мне только CData.
<!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>
Ой, это отчаянно искаженный блок сценария! Если это реальная разметка, на самом деле она нигде не будет работать, ни XHTML, ни HTML ... – bobince
Это не реально, я хотел сконденсировать намного больший блок. думаю, я сорвал слишком много. –