Bem vindo de volta.
Temos nossos dados, mas ainda estão meio sujos.
Quer dizer, não filtramos realmente, só me importo com as histórias com mais de cem votos e também
queremos uma maneira bonita de exibi-las.
Então, vamos trabalhar nisso.
Eu quero criar uma função e vamos chamá-la de criar.
Notícias de hackers customizadas e essas notícias de hackers customizadas receberão links e votos.
Que temos aqui.
Agora, aqui, o que vamos fazer é criar uma nova lista de notícias de hackers que está vazia para
começar.
E, por enquanto, tudo que quero fazer é retornar a lista de notícias do hacker.
Mas dentro desta lista, quero apenas adicionar o texto e nada do e-mail.
Então, por exemplo, para os links, nos preocupamos apenas com o título.
Então, como podemos fazer isso?
Queremos fazer um loop por algumas coisas.
O que vamos fazer é dizer quatro e usaremos enumerar aqui.
Teremos um índice e um item.
E aqui, vamos enumerar.
Lembre-se de que vimos o enumerar antes, o que também nos dá um índice.
E vamos enumerar os links e vou mostrar porque queremos enumerar no segundo.
Então, aqui, eu quero pegar o título de cada link.
Simplesmente fazendo isso, vamos dizer link.
De índice.
Ou menos mudanças no IDEX, isso é um pouco melhor.
Então, vamos pegar o.
Índice de cada link, e podemos usar algo em uma bela sopa chamada Get Taxed, e isso vai colocar o
texto dentro do texto.
E apenas para começarmos com isso, vou simplesmente dizer que o hacker usa ponto append e adiciona o título
à lista.
Então, vamos ver o que acontece quando eu chamo isso.
Eu direi crie notícias de hackers personalizadas e vamos repassar, os links e os votos.
Então, vamos salvar e executar isso.
Ah, e parece que não consigo soletrar enumerar aqui, então vamos consertar isso.
Deve ser um novo moderado com E!
Vamos tentar de novo.
Tudo bem, sem erros, mas queremos imprimir isso idealmente, então vamos apenas dizer.
E veja o que temos.
Eu vou executar isso.
Tudo bem, olha só, nós temos todos os textos, os títulos dos nossos links, isso é ótimo.
OK, mas esses títulos são inúteis sem um link, certo?
E se você lembrar de um link em um e-mail.
É definido com o que chamamos de H ref, este atributo h ref é o link que podemos clicar
para ir para a próxima página ou para a página deste título.
Então, também podemos pegar isso e podemos chamá-lo de A. F. e isso vai ser igual.
Comprimento's.
Índice.
E desta vez, não queremos obter o texto, queremos obter o atributo correto para que
possamos dizer ponto get e então pegar a aeronave.
E caso não haja nenhuma prisão ou talvez o link esteja quebrado, podemos dar um default no segundo
parâmetro e direi apenas nenhum.
Então agora isso como você pode suspender se nós apenas passarmos, digamos que desta vez o ref e eu corramos isso?
Olha só, temos todos os links da página, isso é incrível, mas como podemos combinar o título e a
referência agora?
Bem, isso deve ser bastante simples, certo?
Podemos usar um dicionário.
Portanto, em nossa lista podemos anexar um dicionário que contém o título, que será o título que temos aqui.
E então também.
Tenha o link.
Esse será o Ashraf.
Bem aqui.
Então aqui agora teremos um dicionário com título e link.
Então, se eu salvar.
E execute novamente.
Olha só, nós temos um dicionário que tem um link.
E também um título.
Incrível.
Então, pegamos as informações de que precisamos, pegamos o link e o texto, nenhuma das outras coisas importa para nós, mas
ainda temos os votos.
Então, como podemos fazer isso?
Os votos, bem, podemos criar uma variável ou em vez de votos, apenas para diferenciá-lo disso,
digamos apenas pontos.
E os pontos serão, bem, o que vamos fazer, vamos conseguir os votos.
Índice.
Lembre-se, estamos fazendo um loop por isso.
E vamos simplesmente dizer que você será tributado.
Agora, vamos ver o que obtemos inicialmente quando somos tributados.
Então, aqui, vou apenas imprimir.
Pontos e veja o que temos e vou remover a impressão daqui apenas para que possamos nos concentrar nos pontos por
enquanto.
Então, vou salvar e executar.
Tudo bem, chegamos lá, obtivemos todos esses pontos, mas parece que recebo um erro dizendo que o
índice da lista está fora do intervalo e isso é um pequeno problema que você às vezes terá que depurar ao copiar
sites.
Mas essencialmente o que aconteceu aqui é que há uma história e esta é uma história especial que na verdade não
tem nenhum voto, o que é muito raro na primeira página do Hacker News.
Mas este aqui não tem nenhum voto.
Então, essencialmente, o que está dizendo é que eu nunca peguei as pontuações, os pontos disso.
Portanto, temos tecnicamente mais links do que votos.
Então, quando chegamos ao último link aqui, bem, a lista de votos é um a menos.
Então vai dizer, ei, estou tentando obter os votos no final, mas não há mais votos.
Esta lista é mais curta do que a lista de links.
Portanto, podemos apenas fazer uma verificação rápida aqui para ter certeza de que, quando pegarmos essas coisas, só nos importamos com as
histórias com votos.
E, felizmente para nós, é por isso que queremos verificar se uma história tem mais de cem pontos.
Da maneira como faremos isso, adicionaremos uma declaração if bem aqui agora, antes de
adicionarmos a declaração if, na verdade queremos converter isso em um número para que possamos dizer, ei,
se uma história tem mais de 100 pontos, então queremos mantê-lo e anexá-lo às nossas novas notícias de hackers.
Portanto, a primeira coisa que queremos fazer é simplesmente dizer.
Que queremos converter isso em um int.
Mas também queremos substituir.
Os pontos aqui, o espaço aponta para, bem, nada, então podemos usar o método de substituição de pontos e simplesmente dizer,
ei, sempre que você vir pontos de espaço, que é o que vemos aqui.
Eu quero que você substitua isso por apenas uma string vazia.
Então, isso vai retornar para nós uma string que é um número e depois convertê-la em um inteiro.
Então, vamos testar em.
Vamos fechar o colchete aqui.
Clique com segurança e execute nosso script.
E aí está.
Temos nossos números, isso é ótimo, mas, novamente, ainda temos esse erro.
Então, o que podemos fazer aqui?