Conteúdo prático: Obtenha os nomes em chinês e inglês, nomes de Hong Kong e Taiwan, diretores, anos de lançamento, classificações e classificações de filmes dos filmes TOP250 de Douban e armazene os dados em bancos de dados e arquivos. O link é: https://movie.douban.com/top250?start=.
Já apresentamos muitas maneiras de rastrear dados de páginas da web. Vamos rastrear os dados abaixo.
importreimportrequestsfrombs4importBeautifulSoupforiinrange(0,2):headers={#Isso simula um navegador para acessar'user-agent':'Mozilla/5.0(WindowsNT6.1;Win64;x64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/52.0.2743.82Safari /537. 36','Host':'movie.douban.com'}res='https://movie.douban.com/top250?start='+str(25*i)#25 vezes r=requests.get(res ,headers=headers,timeout=10)#Defina o tempo limite sopa=BeautifulSoup(r.text,html.parser)#Defina o método de análise, você também pode imprimir(sopa)
A saída é:
<!DOCTYPEhtml><htmlclass=ua-windowsua-webkit><head><metacontent=text/html;charset=utf-8http-equiv=Content-Type/><metacontent=webkitname=renderer/><metacontent=alwaysname=referrer /><metacontent=ok0wCgT20tBBg o9_zat2iAcimtN4Ftf5ccsh092Xeywname=google-site-verification><title>Os 250 melhores filmes de Douban</title>.....</script><!--dae-web-movie--default-759d9f45f7-b69fc-->< script>_SPLITTEST =''</script></link></link></body></html>
Aqui usamos a função mad5() no módulo hashlib em Python. O código de verificação é o seguinte. Se você acabou de rastrear os dados, pode omitir esta etapa.
MD5 é um algoritmo de criptografia comumente usado na área de segurança de computadores.
importhashlibdefvertifyupdate(html):md5=hashlib.md5()md5.update(html.encode(encoding='utf-8'))md5code=md5.hexdigest()print(md5code)old_html=''htlm_name='gp.txt 'ifos.path.exists(htlm_name):wit hopen(htlm_name,'r',encoding='utf-8')asf:old_html=f.read()ifmd5code==old_html:print('dados não atualizados')returnFalseelse:withopen(htlm_name,'w',encoding= 'utf-8')asf:f.write(md5code)print('dados atualizados')returnTrue
Esta função precisa importar o módulo hashlib, criar um objeto md5, passar as informações da página atual e executar operações MD5 nos dados recebidos usando o método updata().
Em seguida, use a instrução if para determinar se o arquivo existe. Se existir, leia o código MD5 nele e, em seguida, determine se os dois códigos MD5 são iguais, significa que não há atualização. ele foi atualizado e o novo código MD5 é passado no arquivo.
O rastreamento de dados é a primeira etapa que precisamos realizar. Se os dados foram armazenados por muito tempo antes de serem usados, eles precisam ser detectados. A parte mais problemática é como obter dados mais precisos. próxima seção Vamos fazer a análise de dados.