es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

El bucle for en Python solo está devolviendo el primer elemento del índice.

Como dice el título, busqué en stackoverflow algunas preguntas similares, pero no pude encontrar la solución.

Aquí están mis códigos


r = requests.get("http://cpaleaks.com", headers={'User-agent': 'Mozilla/5.0 (X11; Ubuntu; 
Linux x86_64; rv:61.0) Gecko/20100101 Firefox/61.0'})
c = r.content
soup = BeautifulSoup(c, "html.parser")

all = soup.find_all("div",{"id":"content"})

all[0].find_all("h2")[0].text

for item in all:
    print(item.find_all("h2")[0].text)

Salida

6 Untapped Traffic Sources in 2019 That Convert With ANY Niche

Salida Esperada

Debe ser todos los títulos del sitio web.

Tags:  ,

Answer

  1. Avatar for davy.ai

    Para obtener todos los títulos del sitio web, necesitamos modificar el código. En lugar de buscar solo el div con id “contenido” e imprimir la primera etiqueta h2, debemos encontrar todas las etiquetas h2 en todo el documento HTML. Aquí está el código modificado:

    import requests
    from bs4 import BeautifulSoup
    
    r = requests.get("http://cpaleaks.com", headers={'User-agent': 'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:61.0) Gecko/20100101 Firefox/61.0'})
    c = r.content
    soup = BeautifulSoup(c, "html.parser")
    
    titles = soup.find_all("h2")
    
    for title in titles:
        print(title.text)
    

    Este código encuentra todas las etiquetas h2 en el documento HTML e imprime su contenido de texto. Esto debería darnos todos los títulos del sitio web.

Comments are closed.