В своем коде я пытаюсь использовать многопроцессорность, чтобы найти максимальную цену каждой монеты с учетом URL.Для получения данных мне нужно около 1400 монет, поэтому я реализовал многопроцессорный пул Python.Я не уверен, правильно ли я его использую, но я следовал примеру, приведенному на этом сайте: https://docs.python.org/3.4/library/multiprocessing.html?highlight=process
Вот мой код:
import requests
import json
from bs4 import BeautifulSoup
from multiprocessing import Pool
max_prices = []
def find_max (url):
# finds maximum price of a coin
r = requests.get(url)
cont = r.json()
prices = list(map(lambda x: x[1], cont["price_usd"]))
maxPrice = max(prices)
return maxPrice
with open("coins.txt", "r") as f:
data = json.load(f)
coin_slug = [d["slug"] for d in data]
coin_names = [d["name"] for d in data]
urls = []
for item in coin_slug:
url = "https://graphs2.coinmarketcap.com/currencies/"+item+"/"
urls.append(url)
if __name__ == '__main__':
with Pool(5) as p:
print(p.map(find_max, urls)
Когда я добавил эту частькода, он дал мне ошибку EOF:
if __name__ == '__main__':
with Pool(5) as p:
print(p.map(find_max, urls)