Python // BS4 // 标签

Python // BS4 // Tags

如果有以下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')]

Hoever,然后我得到了

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

我认为你可以使用:

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

关于你问题的第二部分 - 你想在单个变量中包含字段吗?你可以做到,但这可能不是一个好主意。有什么原因吗?

要么,你知道有多少个,在这种情况下你可以这样做:

n1, n2, n3, ...nN = [i.contents[0].strip() for i in soup.select('td.first')]

或者您不这样做,在这种情况下,数组(列表,在 python 中)实际上是唯一有意义的东西。