python用select 找到需要标签后,无法使用.get_text()

Select 会返回一个列表, 列表中元素为tag对象. 而get_text() 只能用于tag对象.
所以如果你想用get_text()的话, 只能把列表中元素取出来.如:
for i in a: print(i.get_text())如果列表中只有一个元素的话, 那么可以这样做:
a.get_text()当然也可以用bs4中的select_one()方法, 和上面的是等价的, 不过更安全一点:
a =soup.select_one(\u0026#39;#article-content \u0026gt; div.content \u0026gt; div.TRS_Editor \u0026gt; p:nth-of-type(2)\u0026#39;)a=a.get_text()与之对应的还有:
find() # 返回find_all中的第一个元素find_all() # 返回一个列表至于为什么说这些方法比select()安全, 主要还是IndexError的问题, 当你的解析式写错的时候, select()会返回一个空列表, 任何索引都会引起IndexError, 但是当我们使用select_one的时候, 它只会返回None.

■网友
这样的python用select 找到需要标签后,无法使用.get_text()
【python用select 找到需要标签后,无法使用.get_text()】


    推荐阅读