Bienvenido de nuevo.
Tenemos nuestros datos, pero todavía están un poco sucios.
Quiero decir, no hemos filtrado realmente, solo me preocupan las historias con más de cien votos y también
queremos una forma bonita de mostrarlas.
Así que trabajemos en eso.
Quiero crear una función y la llamaremos crear.
Las noticias personalizadas sobre piratas informáticos y esta creación de noticias personalizadas sobre piratas informáticos recibirán enlaces y votos.
Lo que tenemos por aquí.
Ahora, aquí, lo que vamos a hacer es crear una nueva lista de noticias de piratas informáticos que, para empezar,
está vacía.
Y por ahora, todo lo que quiero hacer es devolver la lista de noticias de piratas informáticos.
Pero dentro de esta lista, solo quiero agregar el texto y nada del correo electrónico.
Entonces, por ejemplo, para los enlaces, solo nos preocupamos por el título.
Entonces, ¿cómo podemos hacer eso?
Queremos recorrer algunas cosas.
Lo que vamos a hacer es decir cuatro y usaremos enumerar aquí.
Entonces vamos a tener un índice y luego un elemento.
Y aquí, vamos a enumerar.
Recuerde, hemos visto la enumeración antes, que también nos da un índice.
Y vamos a enumerar los enlaces y les mostraré por qué queremos enumerarlos en el segundo.
Entonces aquí, quiero tomar el título de cada enlace.
Simplemente haciendo esto, diremos enlace.
De índice.
O menos cambios en IDEX, eso es un poco mejor.
Así que vamos a agarrar el.
Índice de cada enlace, y podemos usar algo en una sopa hermosa llamada Get Taxed, y esto hará que el texto
esté dentro del texto.
Y solo para comenzar con esto, simplemente diré que el hacker usa dot append y agrega el título a
la lista.
Así que veamos qué sucede cuando llamo a esto.
Voy a decir que cree noticias personalizadas sobre piratas informáticos y las vamos a pasar, los enlaces y los votos.
Así que salvemos a ejecutar esto.
Ah, y parece que no puedo deletrear enumerar aquí, así que arreglemos eso.
¡Debería ser un nuevo moderado con E!
Intentémoslo de nuevo.
De acuerdo, sin errores, pero lo ideal sería imprimir esto, así que digamos.
Y mira lo que obtenemos.
Voy a ejecutar esto.
Muy bien, mira eso, tenemos todos los textos, los títulos de nuestros enlaces, eso es genial.
De acuerdo, pero estos títulos son inútiles sin un enlace, ¿verdad?
Y si recuerdas un enlace en un correo electrónico.
Se define con lo que llamamos una H ref, este atributo h ref es el enlace en el que podemos hacer
clic para ir a la página siguiente oa la página de este título.
Entonces también podemos tomar eso y podemos llamarlo A. F. y esto se va a igualar.
Longitud.
Índice.
Y esta vez, no queremos obtener el texto, queremos obtener el atributo correcto para que
podamos decir dot get y luego agarrar el avión.
Y en caso de que no haya arrestos o tal vez el enlace esté roto, podemos dar un valor predeterminado en el
segundo parámetro y solo diré ninguno.
Así que ahora esto, ¿cómo puedes suspender si solo gastamos, digamos que esta vez el árbitro y yo ejecutamos esto?
Mire eso, tenemos todos los enlaces en la página, eso es increíble, pero ¿cómo podemos combinar el título y la
referencia ahora?
Bueno, esto debería ser bastante simple, ¿verdad?
Podemos usar un diccionario.
Entonces en nuestra lista podemos agregar un diccionario que tenga el título, que será el título que tenemos aquí.
Y luego también.
Tenga el enlace.
Ese será el Ashraf.
Justo aqui.
Así que aquí ahora tendremos un diccionario con título y enlace.
Así que si lo guardo.
Y ejecuta esto de nuevo.
Mire eso, tenemos un diccionario que tiene un enlace.
Y también un título.
Impresionante.
Así que tomamos la información que necesitamos, tomamos el enlace y el texto, nada de lo demás nos importa, pero
aún tenemos los votos.
Entonces, ¿cómo podemos hacer eso?
Los votos, bueno, podemos crear una variable o en lugar de votos, solo para distinguirlo de
esto, digamos puntos.
Y los puntos van a ser, bueno, qué vamos a hacer, vamos a conseguir los votos.
Índice.
Recuerde, estamos repasando esto.
Y simplemente vamos a decir que te cobren impuestos.
Ahora, veamos lo que obtenemos inicialmente cuando nos gravan los impuestos.
Así que aquí, solo voy a imprimir.
Puntos y ver lo que obtenemos y voy a quitar la impresión de aquí solo para que podamos concentrarnos en los puntos por
ahora.
Así que voy a salvar y correr.
Muy bien, entramos allí, obtenemos todos estos puntos, pero parece que recibo un error que dice que el
índice de la lista está fuera de rango y esto es un pequeño problema que a veces tendrá que depurar al raspar sitios
web.
Pero esencialmente lo que sucedió aquí es que hay una historia y esta es una especial que en realidad no
tiene ningún voto, lo cual es muy raro en la portada de Hacker News.
Pero este de aquí no tiene votos.
Entonces, esencialmente, lo que está diciendo es que nunca agarré los puntajes, los puntos de esto.
Así que técnicamente tenemos más enlaces que votos.
Entonces, para cuando lleguemos al último enlace aquí, bueno, la lista de votos es uno menos.
Entonces va a decir, oye, estoy tratando de obtener los votos al final, pero no hay más votos.
Esta lista es más corta que la lista de enlaces.
Así que podemos hacer una revisión rápida aquí para asegurarnos de que cuando tomemos estas cosas, solo nos interesen las historias
con votos.
Y por suerte para nosotros, es por eso que queremos comprobar si una historia tiene más de cien puntos.
La forma en que vamos a hacer eso, vamos a agregar una declaración if aquí ahora
mismo antes de agregar la declaración if, en realidad queremos convertir esto en un número para poder decir,
oye, si una historia tiene más de 100 puntos, entonces queremos mantenerlo y adjuntarlo a nuestras nuevas noticias sobre piratas informáticos.
Entonces, lo primero que queremos hacer es simplemente decir.
Que queremos convertir esto en un int.
Pero también queremos reemplazar.
Los puntos aquí, el espacio apunta a, bueno, nada, así que podemos usar el método de reemplazo de puntos y simplemente
decir, oye, cada vez que veas puntos espaciales, que es lo que vemos aquí.
Quiero que reemplace eso con solo una cadena vacía.
Entonces, esto nos devolverá una cadena que es un número y luego la convertirá en un entero.
Así que probémoslo en.
Cerremos el corchete aquí.
Golpea seguro y ejecuta nuestro script.
Y ahí lo tienes.
Tenemos nuestros números, eso es genial, pero nuevamente, todavía tenemos este error.
Entonces, ¿qué podemos hacer aquí?