первый пост здесь, бесчисленное количество раз я сталкивался с проблемами, которые уже были решены, но не могу понять это.
Следующий цикл предназначен для загрузки текста, содержащегося в списке URL-адресов (3 в примере). Он делает это для всех ссылок, кроме этой (этой), третий в примере занимает очень много времени. Открыв его в браузере, он выглядит так, будто в нем есть несколько изображений jpg. (текст представляет собой количество документов, объединенных в 1 файл; в этом конкретном примере некоторые из документов были изображениями).
Изображения можно распознать в тексте благодаря этим строкам перед ними:
<DOCUMENT>
<TYPE>GRAPHIC
<SEQUENCE>7
<FILENAME>tex99-4_pg01.jpg
<DESCRIPTION>GRAPHIC
<TEXT>
begin 644 tex99-4_pg01.jpg
и за ними следует этот код:
end
</TEXT>
</DOCUMENT>
Есть ли способ ПРОПУСТИТЬ эту ссылку, если загрузка занимает слишком много времени, чтобы сделать парсер быстрее? Я хочу применить этот код к 320 КБ этих ссылок и хотел бы найти способ ускорить загрузку, а не «обрезать» txt, который я получаю впоследствии.
Это то, что я сейчас использую для очистки:
import pandas as pd
import requests
list_of_links = ['https://www.sec.gov/Archives/edgar/data/1000298/0001193125-14-321757.txt',
'https://www.sec.gov/Archives/edgar/data/1002225/0000903423-14-000495.txt',
'https://www.sec.gov/Archives/edgar/data/1004724/0001144204-14-042745.txt'] # the one with the images
number_of_urls = len(list_of_links) # get number of links to iterate them
i = 0
column_names = ["Filing text"]
DF = pd.DataFrame(columns = column_names)
while i < number_of_urls:
print("File #", i+1,"\tis being processed") # print this to visually see how long each download takes
DF.loc[i, "Filing text"] = requests.get(list_of_links[i]).text
i += 1
pandas.DataFrame([requests.get(link).text for link in list_of_links], columns=columns_names)
- person Paul H   schedule 14.05.2020