저는 파이썬으로 작은 텍스트 스크래핑 스크립트를 작성하고 있습니다. 그것은 내가 처음으로 큰 프로젝트이므로 몇 가지 문제가 있습니다. 나는 urllib2와 BeautifulSoup를 사용하고 있습니다. 하나의 재생 목록에서 노래 이름을 긁어 내고 싶습니다. 하나의 노래 이름이나 모든 노래 이름 + 내가 필요로하지 않는 다른 문자열을 얻을 수 있습니다. 나는 모든 노래 이름만을 얻을 수는 없다.BeautifulSup 및 정규 표현식 - 태그에서 텍스트 추출
print soup.findAll('tr')[1].findAll('a')[0].contents[0]
그것은 그래서 얻을 수 실제로하지 루프입니다 : 나에게 노래 한 곡을 제공
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]
그리고 코드 : 내가 필요로하지 않는 모든 노래 이름 + 다른 문자열을 얻을 내 코드 하나 이상은 아니지만 루프를 만들려고하면 같은 노래 이름이 10 개나납니다. 코드 :
for tr in soup.findAll('tr')[1]:
for td in soup.findAll('td')[0]:
print td.contents[0]
저는 하루 종일 멈추었 고 작동하지 않습니다. 나는이 것들이 어떻게 작동하는지 이해하지 못한다.
'td'없이 행을 건너 뛰는 아이디어가 우수합니다. 그 페이지가'tbody' 태그도 사용했다면 더 쉬웠을 것입니다. –