沒有什麼不對您的邏輯,問題是ID是錯誤的,你有fjs_24
當實際ID爲js_24
:
emo = soup.find_all('a', {'id': 'js_24', 'class': '_27jf _3emk', 'data-hover':"tooltip"})
一旦你做出改變,你可以看到它的作品:
In [10]: from bs4 import BeautifulSoup
In [11]: soup = BeautifulSoup("""<a id="js_24" class="_27jf _3emk" data-hover="tooltip" aria-label="6 Wow" href="/ufi/reaction/profile/browser/?ft_ent_identifier=909182312524600&av=100011414120311" rel="ignore" role="button" tabindex="-1"></a>""","lxml")
In [12]: soup.find_all('a', {'id': 'fjs_24', 'class': '_27jf _3emk', 'data-hover':"tooltip"})
Out[12]: []
In [13]: soup.find_all('a', {'id': 'js_24', 'class': '_27jf _3emk', 'data-hover':"tooltip"})
Out[13]: [<a aria-label="6 Wow" class="_27jf _3emk" data-hover="tooltip" href="/ufi/reaction/profile/browser/?ft_ent_identifier=909182312524600&av=100011414120311" id="js_24" rel="ignore" role="button" tabindex="-1"></a>]
如果您LXML安裝,你可以做很多速度更快,使用CSS選擇更簡潔:
from lxml import html
tree = html.fromstring(""""<a id="js_24" class="_27jf _3emk" data-hover="tooltip" aria-label="6 Wow" href="/ufi/reaction/profile/browser/?ft_ent_identifier=909182312524600&av=100011414120311" rel="ignore" role="button" tabindex="-1"></a>""")
print(tree.cssselect("#js_24[class='_27jf _3emk'][data-hover='tooltip']"))
的ID是不是唯一的? –
不,不是那麼容易;) –