У меня есть функция, которая очищает ссылку href с определенной страницы и возвращает результат. Я хочу вызвать эту функцию параллельно, чтобы сэкономить время. Я посетил эту проблему Выполнение одной и той же функции для нескольких файлов параллельно в python Но проблема в том, что мне нужно сохранить возвращаемый элемент в списке. Как я могу это сделать? Вот мой фрагмент кода.
url = "https://www.programmableweb.com/category/all/apis"
response = requests.get(url)
data = response.text
soup = BeautifulSoup(data,'html.parser')
#function to scrape individual pages
def scrap_api_url(i):
print(i)
page_url = "https://www.programmableweb.com" + mid_url + '=' + str(i)
response = requests.get(page_url)
data = response.text
soup = BeautifulSoup(data, 'html.parser')
all_api = soup.find_all('tr', class_ = re.compile('^(even|odd)$'))
return all_api
url_tag = soup.find('a',{'title' : 'Go to next page'})
mid_url = url_tag.get('href').split('=')[0]
threads=[]
#calling functions
if __name__ == '__main__':
inputs = [i for i in range(851)]
for item in inputs:
print('Thread Started :: ', item)
t = threading.Thread(target = scrap_api_url, args=(item,))
threads.append(t)
t.start()
h = []
for t in threads:
h.append(t.join())