Как я могу очистить и отправить сообщение, используя Asyn c? - PullRequest
0 голосов
/ 18 февраля 2020

У меня трудное время с асин c.

Мои намерения -

  1. Получить сайт
  2. Очистить значение fbzx
  3. Опубликовать fbzx вместе с другими значениями

Я знаю, что этот скрипт не лучший. Если вы, ребята, видите какие-либо ошибки, пожалуйста, сообщите. Спасибо

                   'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36'}

url = 'https://docs.google.com/forms/u/0/d/e/1FAIpQLSdVuwwVP279h8IuA49NZlAHAJ0xz_qytUi-jeuNrXOrJ5_ZnA/formResponse'

async def fetch(session, url):
    async with async_timeout.timeout(10):
        async with session.get(url,headers=headers) as response:
            return await response.text()

async def soup_d(html, display_result=False):
    soup = BeautifulSoup(html, 'html.parser')
    if display_result:
        print(soup.prettify())
        return soup

async def extract_text(html):
    soup = await soup_d(html)
    fbzx = soup.find("div", {"name": 'fbzx'}).get('value')
    text = fbzx.text
    print(fbzx)
    return text

data = {"emailAddress": 'newtest@gmail.com',
        "entry.1931660669": 'Test',
        "entry.184398511": 'Test',
        "entry.1167718239": '8',
        "fvv": '1',
        "draftResponse": '[null,null,\"'+text+'\"]',
        "pageHistory": '0',
        "fbzx": extract_text}

async def post(session, url):
    async with session.post(url, headers=headers, data=data) as response:
        return await response.text()

loop = asyncio.get_event_loop()
sites_soup = loop.run_until_complete(extract_text())

loop.close()
...