Raspar no duele
Así que veamos el sitio de las Ted Talks. Tienen una linda tabla con información de las charlas, por si querés hacer algo con ellas.
¿Y cómo sacás esa info? Haciendo "scraping" de la página. ¿Y cómo hacemos eso de forma indolora? Con Python y BeautifulSoup.
from BeautifulSoup import BeautifulSoup
import urllib
# Leemos toda la página
data = urllib.urlopen('http://www.ted.com/talks/quick-list').read()
# La parseamos
soup = BeautifulSoup(data)
# Busco la tabla con la data
table = soup.findAll('table', attrs= {"class": "downloads notranslate"})[0]
# Tomo las filas, salteando la primera
rows = table.findAll('tr')[1:]
items = []
# Para cada fila saco los datos
# Y la guardo en algún lado
for row in rows:
cells = row.findAll('td')
item = {}
item['date'] = cells[0].text
item['event'] = cells[1].text
item['title'] = cells[2].text
item['duration'] = cells[3].text
item['links'] = [a['href'] for a in cells[4].findAll('a')]
items.append(item)
¡Y ya está! Sorprendentemente indoloro.
No podés traducir scrap :)
I am a contrarian.
No sería más facil parsear el RSS?
http://www.ted.com/talks/rss
Sí, pero no están todas ahí, creo.
Have you tried Scrapy? It ahs some nice features to crawl and scrape web pages ;)
I have heard of scrapy, but have not tried it.