Python асинхронные веб-запросы - PullRequest
0 голосов
/ 02 июля 2019

Я пытаюсь сделать асинхронный запрос к веб-странице из файла данных, полного названий компаний

The code to make requests
async def fetch(company):

    #Create Query
    #url = format_text(company)
    params = str(company).replace(" ", "+")

    async with aiohttp.ClientSession() as session:
        async with session.get('https://www.hitta.se/sök?vad=', params=params) as page:
            print(f"Getting {company}")
            #await page.text()
            if page.status_code == 200:
                strip_website(page, company)

The code to run thought all company names:
async def scrape():

    #Companies to scrape
    companies = getData()
    tasks = []

    #loop = asyncio.get_event_loop()
    for company in companies:
        try:
            #task = await fetch(company)
            print(f"Adding {company} to task")
            task = asyncio.create_task(fetch(company))
            tasks.append(task)
        except Exception as e:
            print(e)

    responses  =  asyncio.gather(*tasks)


The code to start the downloads

def start_download():
    print("Start downloading data")
    loop = asyncio.get_event_loop()

    results = loop.run_until_complete(scrape())
    #asyncio.run(scrape())
start_download()

Я ожидаю получить веб-страницу, которая будет передана в strip_site () для получения только тех данных, которые мне нужны. На данный момент кодовый блок внутри никогда не запускается.

async with session.get('https://www.hitta.se/sök?vad=', params=params) as page:

...