我需要提取HTML标记之间的所有值,并使用Python将它们附加到列表中。
原始数据:
<BR><DIV CLASS="c5"><P CLASS="c9"><SPAN CLASS="c2">a</SPAN></P>
<P CLASS="c9"><SPAN CLASS="c2">b</SPAN></P>
</DIV>
<BR>
<!-- Hide XML section from browser
</DOCFULL>
</DOC> -->
<DIV CLASS="c10"> </DIV>
<A NAME="DOC_ID_0_1"></A><!-- Hide XML section from browser
<DOC NUMBER=2>
<DOCFULL> -->
**<<BR><DIV CLASS="c5">
<P CLASS="c9"><SPAN CLASS="c2">c</SPAN></P>
<P CLASS="c9"><SPAN CLASS="c2">d</SPAN></P>
<P CLASS="c9"><SPAN CLASS="c2">e</P>
</DIV>
在上面的原始数据中,我需要提取&lt;内部的文本值。所有文本数据&gt;
我尝试过的解决方案:
textpattern="\<P CLASS=\"c9\"\><SPAN CLASS=\"c2\"\>(.*)\</SPAN>"
textpatternvalues=[a.strip("*") for a in re.findall(textpattern,response,re.MULTILINE)]
textvalues = re.sub(cleanr, '', str(textpatternvalues))
print(textvalues)
我获得的解决方案:注意:这里我没有写出原始结果,因为数据非常庞大。所以我写了一个结果如何的样本。
['a','b','c','d','e']
&LT;&LT;在这里,我将每个段落的文本作为一个整体添加到单个列表中,其中<P class=c9> * </P><BR>
之间的文本应该如下所示,即它应该在第一个元素中。以下文本应该在列表的第二个元素中,而不是分开。
预期解决方案:
['a\nb\n','c\n\d\ne']
我也尝试过使用BeautifulSoup,我得到的结果相同。