domingo, 26 de maio de 2024

Gerador de Índice de Páginas

O script abaixo (feito pelo ChatGPT) em linguagem python cria um arquivo HTML com um link para cada página de um site.

Instale as bibliotecas requests e beautifulsoup4 no bash com: pip install requests beautifulsoup4

Copie e cole o código do script em um arquivo texto com a extensão .py ;

Execute o script com: python3 <geradordeindicedepaginas.py>

Será criado o arquivo blog_titles.html , use o navegador para visualizar este arquivo.

Código do Script:

import requests
from bs4 import BeautifulSoup

def get_titles(url):
    titles_links = []
    while url:
        response = requests.get(url)
        if response.status_code == 200:
            soup = BeautifulSoup(response.content, 'html.parser')
            # Encontra todos os títulos das postagens e seus links
            post_items = soup.find_all('h3', class_='post-title')
            for post in post_items:
                title = post.get_text(strip=True)
                link = post.find('a')['href']
                titles_links.append((title, link))
            # Encontra o link para a próxima página
            next_link = soup.find('a', class_='blog-pager-older-link')
            if next_link:
                url = next_link['href']
            else:
                url = None
        else:
            print(f"Erro ao acessar o site: Status code {response.status_code}")
            break
    return titles_links

def generate_html(titles_links):
    html_content = '''
    <!DOCTYPE html>
    <html lang="pt-BR">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>Títulos do Blog</title>
    </head>
    <body>
        <h1>Títulos do Blog</h1>
        <ul>
    '''
    for title, link in titles_links:
        html_content += f'<li><a href="{link}">{title}</a></li>\n'

    html_content += '''
        </ul>
    </body>
    </html>
    '''
    return html_content

# URL do seu blog
blog_url = "https://tipoalgo.blogspot.com"
titles_links = get_titles(blog_url)

# Gera o conteúdo HTML
html_content = generate_html(titles_links)

# Salva o conteúdo HTML em um arquivo
with open('blog_titles.html', 'w', encoding='utf-8') as file:
    file.write(html_content)

print("Arquivo HTML gerado com sucesso!")


Nenhum comentário:

Postar um comentário