次のコードを使用して、BeautifulSoupを使用して多数のリンクを取得しています。それはすべてのリンクを返しますが、私は3番目のリンクを取得し、そのリンクを解析してから3番目のリンクを取得したいと思います。これを達成するために、以下のコードを変更するにはどうすればよいですか?BeautifulSoupの結果から3番目のリンクを取得するには
import urllib
from BeautifulSoup import *
url = raw_input('Enter - ')
html = urllib.urlopen(url).read()
soup = BeautifulSoup(html)
# Retrieve all of the anchor tags
tags = soup('a')
for tag in tags:
print tag.get('href', None)
print tag.contents[0]
ありがとうございましたalecxe。上記のコードでは、 "tags = soup( 'a')はリストを返すので、" print "を実行するとリンクが多くなるので、" find_all "を使わずにすべてのリンクを与えているようです。ループが繰り返される3番目のリンクであると思われるタグ[2]を単に印刷するのはなぜですか? – martinbshp
@martinbshpはい、 'soup()'は 'soup.find_all()'へのショートカットです。はい、答えに示されているように 'href'属性値を取得する必要があります。 – alecxe
ああ、今すぐ取得しました。あなたの応答は私に戻ってこのことを再考し、タグがどのようにインデックスを調べる必要があるかを見ましたforループのタグvarではありません。 – martinbshp