Contenido práctico: obtenga los nombres en chino e inglés, los nombres de Hong Kong y Taiwán, los directores, los años de estreno, las clasificaciones de películas y las calificaciones de las películas TOP250 de Douban, y almacene los datos en bases de datos y archivos. El enlace es: https://movie.douban.com/top250?start=.
Hemos introducido muchas formas de rastrear datos de páginas web antes. Rastreemos los datos a continuación.
importreimportrequestsfrombs4importBeautifulSoupforiinrange(0,2):headers={#Esto simula un navegador para acceder a 'user-agent':'Mozilla/5.0(WindowsNT6.1;Win64;x64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/52.0.2743.82Safari /537.36','Anfitrión':'movie.douban.com'}res='https://movie.douban.com/top250?start='+str(25*i)#25 veces r=requests.get( res,headers=headers,timeout=10)#Establezca el tiempo de espera sopa=BeautifulSoup(r.text,html.parser)#Establezca el método de análisis, también puede imprimir (sopa)
La salida es:
<!DOCTYPEhtml><htmlclass=ua-windowsua-webkit><head><metacontent=text/html;charset=utf-8http-equiv=Content-Type/><metacontent=webkitname=renderer/><metacontent=alwaysname=referrer /><metacontent=ok0wCgT20tBBgo9_zat2iAcimtN4Ftf5ccsh092Xeywname=google-site-verification><title>Las 250 mejores películas de Douban</title>.....</script><!--dae-web-movie--default-759d9f45f7- b69fc-- ><script>_SPLITTEST=''</script></link></link></body></html>
Aquí usamos la función mad5() en el módulo hashlib en Python. El código de verificación es el siguiente. Si acaba de rastrear los datos, puede omitir este paso.
MD5 es un algoritmo de cifrado comúnmente utilizado en el campo de la seguridad informática.
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):withopen(htlm_name,'r',encoding='utf-8')asf:old_html=f.read()ifmd5code==old_html:print('datos no actualizados')returnFalseelse: withopen(htlm_name,'w',encoding='utf-8')asf:f.write(md5code)print('datos actualizados')returnTrue
Esta función necesita importar el módulo hashlib, luego crear un objeto md5, pasar la información de la página actual y realizar operaciones MD5 en los datos entrantes utilizando el método updata().
Luego use la declaración if para determinar si el archivo existe. Si existe, lea el código MD5 que contiene y luego determine si los dos códigos MD5 son iguales, significa que no hay actualización. se ha actualizado y el nuevo código MD5 se pasa al archivo.
El rastreo de datos es el primer paso que debemos realizar. Si los datos se han almacenado durante mucho tiempo antes de usarse, es necesario detectarlos. Estos son pasos relativamente simples. La parte más problemática es cómo obtener datos más precisos. siguiente sección Hagamos un análisis de datos.