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()