2017-02-14 9 views
0

BS4とPython 3.5でWebページを解析しています。 次のようになりますDIVからのみのユーザー名(リンクテキスト)を抽出しようとすると:divの特定のテキストをbeautifulsoup4で抽出する

<div class="about"><a href="es_viewprofile.aspx?profile_id=110181766">claudiakenzo</a>&nbsp;33&nbsp;&nbsp;&nbsp;&nbsp;Pasar el rato&nbsp;&nbsp;&nbsp;<font color="green">En línea</font></div> 

ミの目標は、この場合には、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-セレンの問題を簡単に解決できれば、私もそれを試してみたいと思います。 ありがとうございました!

答えて

0

BS4のドキュメントを読んでください。一方で、これはあなたの問題を解決するはずです:

for anchor in soup.select('div.about a'): 
    print(anchor.text) 
0

ありがとう。

username = link.text.split()[0] 

これは私が必要なものを私を得るようだ: 投稿後、私は解決策を見つけました。

関連する問題