Python // BS4 //标签

时间:2015-06-30 09:31:58

标签: python tags bs4

如果有以下html:

</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

我用过

[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']

如何删除TEXT_1b,TEXT_2b ... TEXT_nb。另外我想不要有一个数组,但是N1 = TEXT_1a,N2 = TEXT_2a ... Nn = TEXT_na

1 个答案:

答案 0 :(得分:0)

我认为你可以使用:

ReDim CurrencyArray(0 To myCollection.Count, 1 to 1)
For element =  1 To myCollection.Count
   CurrencyArray(element, 1) = myCollection(element)
Next element

'You can put the header in the first cell of an array where the first dimension is zero-based
CurrencyArray(0,1) = "Sum Currency"

Set Summary = Range("M1").Resize(ubound(currencyarray,1)+1)
 Summary.Value = CurrencyArray

关于问题的第二部分 - 您希望将字段放在单个变量中吗?你可以做到,但它可能不是一个好主意。这有什么理由吗?

或者,你知道它们中有多少,你可以这样做:

[i.contents[0].strip() for i in soup.select('td.first')]

或者你没有,在这种情况下,数组(在python中的列表)确实是唯一有意义的。