Pythonで小さなテキストスクレイピングスクリプトを書いています。これは私の最初の大きなプロジェクトなので、いくつか問題があります。urllib2とBeautifulSoupを使用しています。1つのプレイリストから曲名を取得したい。1つの曲名またはすべての曲名+不要な他の文字列を取得できます。すべての曲名だけを取得することはできません。すべての曲名と不要なその他の文字列を取得するコード:
import urllib2
from bs4 import BeautifulSoup
import re
response = urllib2.urlopen('http://guardsmanbob.com/media/playlist.php?char=a').read()
soup = BeautifulSoup(response)
for tr in soup.findAll('tr')[0]:
for td in soup.findAll('a'):
print td.contents[0]
そして私に1曲を与えるコード:
print soup.findAll('tr')[1].findAll('a')[0].contents[0]
実際にはループではないので、1つしか取得できませんが、ループにしようとすると、同じ曲名が10個くらいになります。そのコード:
for tr in soup.findAll('tr')[1]:
for td in soup.findAll('td')[0]:
print td.contents[0]
私は今一日立ち往生していて、それを動かすことができません。これらがどのように機能するのかわかりません。