Bienvenido de nuevo.
Agreguemos otra capa a nuestra aplicación, que consiste en ordenar la lista de nuestros enlaces de arriba a abajo, y podemos hacerlo
con bastante facilidad.
Escuchemos, en lugar de devolver noticias de piratas informáticos que tenemos aquí, crearemos una nueva función llamada Clasificar
historias.
Vota y le daremos la lista de Hackney y crearemos esta función aquí, diremos definir clasificación.
Cuentos.
Por votos.
Y este recibirá el parámetro Lista de Hackney.
Y vamos a hacer una especie de algoritmo simple aquí, así que usaremos la función de clasificación que
tenemos.
Le vamos a dar la lista de Hackney y veamos qué pasa.
Voy a ejecutar esto.
Ah, y tengo que ordenarlo aquí, ese es el método.
Ejecutemos esto de nuevo.
Obtenemos un error aquí y si leemos el error dice taip, no compatible entre instancias de DECT y DECT,
¿qué significa eso?
Bueno, estamos tratando de ordenar los elementos de una lista, pero todos son diccionarios.
Entonces Python está diciendo, oye, no entiendo.
¿Cómo quieres que lo ordene?
¿Quieres que lo haga?
Por título, por enlace por votos.
Tienes que decírmelo y esta es una parte común del patrón ordenado a la que tendrás que acostumbrarte.
Usaremos una función lambda.
Nuestro segundo parámetro simplemente será la clave por la que queremos ordenar y esa clave por la
que queremos ordenar es ¿qué votos?
Derecha.
Así que todo lo que vamos a hacer es decir LAMDA.
Y di, Kee.
Y esta clave por la que vamos a empezar serán los votos.
De modo que si guardo esto y ejecuto esto de nuevo.
Mira eso, tengo todo ordenado por barco, como ves.
Ahora bien, si esto te abruma con las LAMDA, puedes ir a visitar la sección del curso donde hablamos
de lambdas aquí.
Pero este es solo un patrón común que puede recordar con Sorte.
Siempre que esté ordenando diccionarios, usamos claves y podemos darle la sintaxis con una lambda y pasarle la
clave.
Lo que quiere ordenar en nuestro caso, son los votos, lo último que queremos hacer es tener el
orden inverso.
Por lo tanto, el elemento superior de la lista debe ser o el primer elemento de la lista debe tener el mayor número de
votos.
Entonces, simplemente podemos hacer eso con el tercer parámetro diciendo que reverse es igual a verdadero, así como así.
Ahora, si guardo y ejecuto nuestro código.
Vemos que tenemos una lista de todos los enlaces principales con el más alto de trescientos nueve
votos aquí mismo.
Muy muy genial.
Ahora, la parte emocionante es que ya ni siquiera tienes que visitar el sitio web de Hacker
News, puedes ser un programador completo y hacer cosas interesantes como leer los títulos aquí y podemos leer sobre ellos.
Bueno, la multa de cinco mil millones de dólares de Facebook.
Debido a razones de privacidad, con solo seleccionar este enlace y digamos que está usando
una terminal, puede simplemente decir selección abierta como su URL y mirar eso, podemos leer la historia directamente así.
Muy muy genial.
Así que ahora tiene una versión limpia y más eficiente de Hacker News que puede leer
todos los días y todo lo que necesita hacer es ejecutar este script por la mañana y terminar su lectura.
Ahora, hay muchas formas en que podría expandir este proyecto.
Quizás pueda mostrar esto en su propio archivo HTML indexado para poder hacer clic en estos enlaces.
Puede hacer esto con otros sitios web, pero mi desafío y ejercicio para usted es este.
¿Cómo podemos expandir esta lista para que incluya algo más que la primera página de Hacker News, es
decir, si volvemos a Hacker News, hasta ahora solo hemos eliminado estos 30 enlaces?
Pero, ¿qué pasa si hago clic en más aquí y quiero ir a la segunda página y por qué quiero raspar las
dos primeras páginas de Hacker News?
¿Cómo haría yo para hacer esto?
¿Y el siguiente video?
Te voy a dar la solución, pero te desafío a que averigües esto por tu cuenta y veas
cómo puedes hacerlo si te quedas atascado.
Bueno, nos vemos en el próximo video de.