-1

我正在尝试从中提取一些文本

</br></td>, <td class="first">TEXT_1a<br>TEXT_1b
                                </br></td>, <td class="first">TEXT_2a<br>TEXT_2b
                                </br></td>, <td class="first">TEXT_3a<br>TEXT_3b
                                </br></td>, <td class="first">TEXT_4a<br>TEXT_4b
                                </br></td>, <td class="first">TEXT_5a<br>TEXT_5b
                                </br></td>, <td class="first">TEXT_6a<br>TEXT_6b

我使用 BeautifulSoup (BS4) text = first_td.renderContents() trimmed_text = text.strip() print trimmed_text 来提取文本。<td但是,我只得到标签后的第一个文本。不过,我想提取标签中的所有文本,最好按列(数组)排序。在我和 BS 一起去了之后,它没有用,我认为 Regex 是要走的路。一件小事,我是一个绝对的正则表达式爱好者......

任何想法如何让文本在那里?

4

1 回答 1

0

td提取标签内的所有文本。

>>> s = '''<td class="first">TEXT_1a<br>TEXT_1b
                                </br></td>, <td class="first">TEXT_2a<br>TEXT_2b
                                </br></td>, <td class="first">TEXT_3a<br>TEXT_3b
                                </br></td>, <td class="first">TEXT_4a<br>TEXT_4b
                                </br></td>, <td class="first">TEXT_5a<br>TEXT_5b
                                </br></td>, <td class="first">TEXT_6a<br>TEXT_6b'''
>>> soup = BeautifulSoup(s)
>>> [i.text.strip() for i in soup.select('td.first')]
['TEXT_1aTEXT_1b', 'TEXT_2aTEXT_2b', 'TEXT_3aTEXT_3b', 'TEXT_4aTEXT_4b', 'TEXT_5aTEXT_5b', 'TEXT_6aTEXT_6b']
于 2015-06-28T16:29:36.277 回答