Ir ao conteúdo

carlosesb

Membro Júnior
  • Posts

    3
  • Cadastrado em

  • Última visita

Reputação

0
  1. Oi, acabei de testar sua sugestão. O código segue abaixo: import os from requests_html import HTML import timeout_decorator @timeout_decorator.timeout(100) def extract_time(filepath): if os.path.isfile(filepath): with open(filepath, 'r', encoding='utf-8') as file: html_content = file.read() html = HTML(html=html_content) dateList = html.find('relative-time') pasta = './files' arquivos = sorted(os.listdir(pasta)) for filename in arquivos : filepath = os.path.join(pasta, filename) print(f"[{filename}]", flush=True) extract_time(filepath) Ainda assim, o código ficou travado na iteração 7757 Pedi a alguns amigos para testarem e travou com todos.
  2. nenhum erro é levantado, o código só fica parado. Então, esse trecho de código foi recortado de um código maior, por isso existe a importação do pandas.
  3. Estou enfrentando um problema com meu código em Python que abre várias páginas HTML e extrai elementos de uma classe específica, se existirem. O código funciona bem por algumas iterações, mas trava quando executado um número suficiente de vezes, sempre na mesma página HTML (7757). Curiosamente, se processar essa página individualmente, o código funciona sem problemas. Esse problema tem me incomodado há algum tempo e não sei mais o que fazer. Já testei muitas abordagens. Se alguém já teve uma experiência semelhante, por favor, preciso de ajuda. Ao tentar depurar, percebi que o código sempre trava dentro do pacote lxml, usado pelo requests_html. Pode ser um bug da biblioteca, mas o que explicaria o travamento apenas após algumas iterações? Agradeceria muito qualquer ajuda. Esse problema tem tirado o meu sono. O código é o seguinte: import pandas as pd import requests_html def main(): df_links = pd.read_csv('links.csv', index_col=0) session = requests_html.HTMLSession() try: for i in range(0, len(df_links.index)): url = df_links.iloc[i]['hyperlink'] print(f"[{i}/{len(df_links.index)}]: {url}", flush=True) response = session.get(url) status_code = response.status_code if status_code == 200: response_html = response.html dateList = response_html.find('relative-time') except Exception as e: print("Something went wrong...", flush=True) if __name__ == "__main__": main() links.csv

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...