2017-07-25 11 views
0

私は美しいスープを扱っていて、特定の文字列に等しい属性を持つページで最初のタグをつかみようとしています。例えばBeautiful Soup最初に見つけた<a> title属性が特定の文字列に等しい

:私がやろうとしてきた何

<a href="url" title="export"></a> 

は、そのタイトルが「輸出」で発見されたその最初のhrefをつかむです。

  • 私がsoup.select("a[title='export']")を使用すると、最初のものだけでなく、この要件を満たすすべてのタグを見つけることになります。
  • find("a", {"title":"export"})を使用して、タイトルが「エクスポート」に等しくなるように条件を設定すると、hrefではなくタグ内の実際のアイテムが取得されます。

  • find()を呼び出した後に.get("href")と書いても、私は戻ってきません。

私はドキュメントを検索していて、オーバーフローして答えを探していますが、まだ見つかっていません。誰もがこれに対する解決を知っていますか?ありがとうございました!

+0

何が欲しいですか? hrefまたはコンテンツ? –

+0

私は私の質問に述べました:最初ののタイトルが "export"であるhrefがあります – dj1121

+1

Okay ... 'soup.find( 'a'、{title: 'export'})['href' ] 'それを行う必要があります。 –

答えて

2

私がやっていることは、タイトルが「エクスポート」である最初に発見されたhrefを取得することです。

あなたはほぼあります。必要なのは、タグを取得したら、hrefを取得するためにインデックスを作成するだけです。防弾バージョンはもう少しです:

try: 
    url = soup.find('a', {title : 'export' })['href'] 
    print(url) 
except TypeError: 
    pass 
関連する問題