интернете разбираюсь, почитав документацию не осилил тему, пытаюсь на примерах врубиться 
                  
                  
                   
                  
                  
                  import asyncio 
                  
                  
                  import aiohttp 
                  
                  
                   
                  
                  
                  async def make_request(session, req_n): 
                  
                  
                      file = open("B0.txt", encoding="utf-8" ) 
                  
                  
                      for line in file: 
                  
                  
                          taat = str(line)[0:10] 
                  
                  
                          url = "https://site.ru/data?id=" + taat 
                  
                  
                          print(f"making request {req_n} to {url}") #Вижу, что делая запросы дублирует taat (id), то есть одно и тоже запрашивает несколько раз, как избежать? 
                  
                  
                          async with session.get(url) as resp: 
                  
                  
                              if resp.status == 200: 
                  
                  
                                 qwe = await resp.json() 
                  
                  
                   
                  
                  
                  async def main(): 
                  
                  
                      n_requests = 100 #Это как понимаю сколько делать запросов одновременно?  
                  
                  
                      async with aiohttp.ClientSession() as session: 
                  
                  
                          await asyncio.gather(*[make_request(session, i) for i in range(n_requests)]) 
                  
                  
                   
                  
                  
                  loop = asyncio.get_event_loop() 
                  
                  
                  loop.run_until_complete(main())
                  
                  
                
во-первых, ты не закрыл файл во-вторых, query параметры не надо в url передавать, они передаются отдельно в get в-третьих, ты в каждой конкуретнонй таске заново открываешь файл и обходишь его целиком в-четвертых, это обычный list comprehension в-пятых, да, gather запускает такси "одновременно"
Спасибо за ответ, постараюсь разобраться с тем, что Вы написали. 2,3,4 пока не понял
3 - это твоя проблема 4 - это основы питона, которые надо было выучить задолго до работы с asyncio
Обсуждают сегодня