Render部署Flask爬虫:Playwright无法使用Chromium的问题求助
Flask爬虫Render部署问题:Playwright Chromium可执行文件缺失
问题详情
我有一个基于Flask的网页爬虫应用,本地运行完全正常,但部署到Render平台后出现异常。应用需要抓取依赖JavaScript渲染的动态页面(需打开新窗口解析HTML),技术栈为Playwright搭配Chromium无头浏览器导航,Beautiful Soup处理抓取内容。
部署到Render后触发如下错误:
Executable doesn't exist at /opt/render/.cache/ms-playwright/chromium-1091/chrome-linux/chrome "Looks like Playwright was just installed or updated. Please run the following command to download new browsers: playwright install"
问题核心是Render默认未预装Chromium,且原生安装Chromium遇到阻碍。参考相关方案后,尝试用Dockerfile部署,但部署后仍出现上述相同错误。当前构建命令为pip install -r requirements.txt,尝试修改为Docker相关构建命令时,Render无法识别docker build语法。该问题已困扰一周,需解决以支持新网站的自动更新。
已编写的Dockerfile
FROM python:3.9.6-slim RUN apt-get update && apt-get install -y chromium ENV PLAYWRIGHT_BROWSERS_PATH=/usr/lib/playwright ENV PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD 1 RUN pip install playwright-chromium@1.11.1 RUN pip install playwright==1.21.1 RUN playwright install WORKDIR /usr/src/app COPY . . RUN pip install --no-cache-dir -r requirements.txt RUN apt-get update && apt-get install -y \ libglib2.0-0 \ libnss3 \ libnspr4 \ libdbus-1-3 \ libatk1.0-0 \ libatk-bridge2.0-0 \ libcups2 \ libdrm2 \ libxcb1 \ libxkbcommon0 \ libatspi2.0-0 \ libx11-6 \ libxcomposite1 \ libxdamage1 \ libxext6 \ libxfixes3 \ libxrandr2 \ libgbm1 \ libpango-1.0-0 \ libcairo2 \ libasound2 EXPOSE 80 CMD ["gunicorn", "-w", "4", "-b", "0.0.0.0:80", "app:app"]
内容的提问来源于stack exchange,提问作者LeeDyer
相关产品推荐
相关产品推荐

