Raspagem de dados - fonte para aprender

Estou no primeiro semestre de Análise e Desenvolvimento de Sistemas e tenho Lógica de Programação (Python) e o professor basicamente jogou o código de raspagem de dados e pronto, aula dada… Não entendi muito e não sei fazer.
Alguém sabe alguma fonte com BOA didática para eu pesquisar sobre o assunto? Porque encontrei bastante coisa na internet, mas fico na insegurança de saber se aquilo é válido para meu aprendizado, já que o professor passou a parte mais básica de raspagem de dados, e vi uns códigos por ai que tinha coisas que não foram apresentadas na aula…
Sem fugir muito do que está apresentado no código abaixo, alguma fonte BOA (detalhada) para pesquisar?

O código que ele passou é o seguinte:

from bs4 import BeautifulSoup
import requests
url = 'http://g1.globo.com/educacao/universidades.html
soup = BeautifulSoup(requests.get(url).text,
‘html.parser’)

sigla = [sig.string.strip()
for sig in soup.findAll(‘td’,
{‘class’:‘sigla’})]
nome = [name.string.strip()
for name in soup.findAll(‘td’,
{‘class’:‘nome’})]
uf = [estado.string.strip()
for estado in soup.findAll(‘td’,
{‘class’:‘uf’})]

for s, n, u in zip(sigla, nome, uf):
print (s, n, u)