Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

210
Views
Ejecutar código síncrono dentro de código asíncrono usando el objeto AsyncHTMLSession

Ok, después de investigar un poco, casi pude completar el proyecto A partir de ahora, la representación de la página da como resultado un objeto NonType.

Aquí está el código:

 from bs4 import BeautifulSoup as bs from requests_html import AsyncHTMLSession import asyncio #packs all session tasks in a list def get_session_tasks(session, urls): tasks = [] for url in urls: tasks.append(session.get(url)) return tasks #packs all render tasks in a list def get_rendered_tasks(responses): tasks = [] for response in responses: tasks.append(response.html.arender(timeout=0, sleep=2, send_cookies_session=response.cookies)) return tasks # retrieve CSRF Token and login async def login(session): login = await session.get(login_url) soup = bs(login.content, "lxml") cdata_payload["__RequestVerificationToken"] = soup.find_all("input", type="hidden")[1]["value"] _ = session.post(login_url, data=cdata_payload, headers=headers) return session # asynchronously get responses async def get_responses(session): tasks = get_session_tasks(session, create_urls(suffix_list)) responses = await asyncio.gather(*tasks) return responses # asynchronously get rendered responses async def render_pages(responses): tasks = get_rendered_tasks(responses) rendered_responses = await asyncio.gather(*tasks) return rendered_responses # starting a session with AsyncHTMLSession() as session: loop = asyncio.get_event_loop() login_coroutine = login(session) login_session = loop.run_until_complete(login_coroutine) response_coroutine = get_responses(login_session) responses = loop.run_until_complete(response_coroutine) render_coroutine = render_pages(responses) rendered = loop.run_until_complete(render_coroutine) parse(rendered) # parse is synchronous

respuestas de impresión de terminal: [<Respuesta [200]>, <Respuesta [200]>, <Respuesta [200]>, <Respuesta [200]>] impresión de terminal procesada: [Ninguno, Ninguno, Ninguno, Ninguno]

obviamente el análisis devuelve un error: el objeto NoneType no tiene ningún atributo....

Agradecería su ayuda en cuanto a lo que estoy haciendo mal.

about 4 years ago · Juan Pablo Isaza
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!