[英]Extract specific text from a div with beautifulsoup4
我正在使用BS4和Python 3.5解析网页。 尝试从如下所示的div中仅提取用户名(链接的文本):
<div class="about"><a href="es_viewprofile.aspx?profile_id=110181766">claudiakenzo</a> 33 Pasar el rato <font color="green">En línea</font></div>
Mi的目标是仅获得div的第一部分,在这种情况下,字符串“ claudiakenzo”
这是我尝试使用的代码:
for link in soup.find_all("div", {'class': 'about'}):
print(username = link.text)
理论上我应该得到我想要的东西,但是没有...我得到的是输出:
claudiakenzo 33 Pasar el rato En línea
我不想要其中的“ 33”,“ Pasar el rato”或“ Enlínea”部分。 我做错了什么,什么是提取我需要的正确代码? 不幸的是,某些用户名也包含数字,因此使用re十分复杂...但是我觉得必须比使用re更简单的方法来执行此操作。
PS-如果有解决Selenium问题的简便方法,我也愿意尝试。 谢谢!
花一些时间阅读BS4文档。 同时,这应该可以解决您的问题:
for anchor in soup.select('div.about a'):
print(anchor.text)
谢谢。 发布后,我找到了解决方案:
username = link.text.split()[0]
这似乎可以为我提供所需的东西。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.