Python-漂亮的汤-删除标记
我使用Python-漂亮的汤-删除标记,python,html,beautifulsoup,Python,Html,Beautifulsoup,我使用Beauty Soup将以下基于web的数据提取为列表。在最初的网站上有一个数字表: [<td class="right">113</td>, <td class="right"> 89 </td>, <td class="right last"> <b>117</b> </td>, <td class="right">113</td>, <td class="r
Beauty Soup
将以下基于web的数据提取为列表。在最初的网站上有一个数字表:
[<td class="right">113</td>, <td class="right">
89 </td>, <td class="right last">
<b>117</b> </td>, <td class="right">113</td>, <td class="right">
85 </td>, <td class="right last">
<b>114</b> </td>, <td class="right">100</td>, <td class="right">
56 </td>, <td class="right last">
<b>84</b> </td>]
两者都返回相同的列表。它不是
e.string
还是e.get_text()
而不是e.text
?@PeterDeGlopper-否。BeautifulSoup在节点上有一个text属性。另一方面,如果您使用的是BeautifulSoup4-使用css语法选择器,则更干净-soup.select('td.right')
它们似乎是相同的:e=bs4.BeautifulSoup('');印刷品(如文本);print(e.get_text())
@DivinusVox-奇怪的是,我在文档中找不到text
作为属性。如果它能工作,那么它也能工作,但我想知道它是否会被底层解析器破坏?(而且字符串
和剥离字符串
生成器就是我所看到的文档化生成器)。没错,文本
是一个未文档化的特性。我不经常使用BeautifulSoup
来记住所有的名字,所以我总是把它弄错,当我指.string
时使用.text
。
numbers_data = [int(e.text) for e in soup.find_all('td', 'right')]
print numbers_data
numbers_data = [int(e.text) for e in soup.find_all('td', 'right')]
print numbers_data