BeautifulSoupを利用してWebサイトのページ内にあるリンクをリストとして取得する方法
1 |
import urllib2<br />from BeautifulSoup import BeautifulSoup<br /><br />if __name__ == '__main__':<br /> # アクセスするWebサイトのURL<br /> url = 'http://www.yahoo.co.jp/'<br /><br /> # Webサイトへアクセス<br /> web = urllib2.urlopen(url)<br /> # BeautifulSoupで解析できるよう読み込む<br /> html = BeautifulSoup(web)<br /><br /> # 'a'タグの全ての要素をリストとして抽出する<br /> base_linklist = self.getTagList('a')<br /> # 抽出した要素リストを1つずつ解析<br /> for link in base_linklist:<br /> # 'href'がタグ内に含まれない場合は無視する<br /> if link.__str__().find('href=') != -1:<br /> # リンク名:リンクURLと表示<br /> print link.string.__str__() + ':' + link['href'] |
リンク名が画像などの場合、link.stringはNoneが得られるため、文字列に変換しておく必要がある