Django бросает django.core.exceptions.SynchronousOnlyOperation с модулем SyncPlaywright
В настоящее время я работаю над проектом Django, в котором мне нужно соскребать данные с веб-сайта с помощью Playwright. Однако я столкнулся с проблемой, связанной с тем, что асинхронная природа Playwright конфликтует с синхронным циклом запросов/ответов Django, хотя я использую SYNC api Playwright.
def extract_fbvideo_from_url(url, mp4_filename):
playwright = sync_playwright().start()
browser = playwright.chromium.launch(headless=True, channel="msedge")
page = browser.new_page()
page.goto(url)
page_source = page.content()
base_url = extract_url_from_source(page_source)
response= requests.get(base_url, headers=headers)
if response.status_code == 200:
# filename= f"media/{uuid4().__str__()}.mp4"
with open(mp4_filename, "wb") as f:
f.write(
response.content
)
return mp4_filename
print(f"Couldn't get fb video: [{url}]")
return None
Ответ отправлен успешно, как и требовалось, но после этого я получаю следующую ошибку: