나는 다음과 같은 BeautifulSoup로 스크립트를 사용하여 처음 30 개 TED 동영상 (비디오의 이름과 URL)을 찾기 위해 노력하고 있지만 :아름다운 수프와 문
import urllib2
from BeautifulSoup import BeautifulSoup
total_pages = 3
page_count = 1
count = 1
url = 'http://www.ted.com/talks?page='
while page_count < total_pages:
page = urllib2.urlopen("%s%d") %(url, page_count)
soup = BeautifulSoup(page)
link = soup.findAll(lambda tag: tag.name == 'a' and tag.findParent('dt', 'thumbnail'))
outfile = open("test.html", "w")
print >> outfile, """<head>
<head>
<title>TED Talks Index</title>
</head>
<body>
<br><br><center>
<table cellpadding=15 cellspacing=0 style='border:1px solid #000;'>"""
print >> outfile, "<tr><th style='border-bottom:2px solid #E16543; border-right:1px solid #000;'><b>###</b></th><th style='border-bottom:2px solid #E16543; border-right:1px solid #000;'>Name</th><th style='border-bottom:2px solid #E16543;'>URL</th></tr>"
ted_link = 'http://www.ted.com/'
for anchor in link:
print >> outfile, "<tr style='border-bottom:1px solid #000;'><td style='border-right:1px solid #000;'>%s</td><td style='border-right:1px solid #000;'>%s</td><td>http://www.ted.com%s</td></tr>" % (count, anchor['title'], anchor['href'])
count = count + 1
print >> outfile, """</table>
</body>
</html>"""
page_count = page_count + 1
코드는 괜찮아 보이는 마이너스 두 가지 :
을카운트가 증가하지 않는 것 같습니다. 그것은 단지 처음 페이지의 내용 즉, 즉 처음 30 개가 아닌 10 개의 비디오를 찾습니다. 왜?
이 코드를 사용하면 많은 오류가 발생합니다.
코드 :
total_pages = 3
page_count = 1
count = 1
url = 'http://www.ted.com/talks?page='
while page_count < total_pages:
page = urllib2.urlopen("%s%d") %(url, page_count)
그것은 당신의 문제가 해결되지 않습니다하지만 당신은'
'대신''와''태그의 태그 두 개의 구멍이 있습니다 (IE'인쇄 >> OUTFILE을, "" "는'해야' –