google-app-engine - Google App Engine 中的无头 chrome 浏览器在哪里
问题描述
我正在寻找 Google App Engine(标准环境)中可执行文件的位置。
原因是我正在尝试使用 pyppeteer 进行某些工作,但 pyppeteer 总是将 chromium 下载到自定义文件夹中然后退出。
我看到 puppeteer 在 GAE 上工作,因此我希望我能说服 pyppeteer 也运行。
以下是 Google App Engine 日志:
2019-07-23 17:39:33 default[test] [W:pyppeteer.chromium_downloader] start chromium download.
2019-07-23 17:39:33 default[test] Download may take a few minutes.
2019-07-23 17:39:33 default[test]
2019-07-23 17:39:34 default[test] 0%| | 0/106826418 [00:00<?, ?it/s]
2019-07-23 17:39:34 default[test] 2%|▏ | 1925120/106826418 [00:00<00:07, 13602613.39it/s]
2019-07-23 17:39:34 default[test] 4%|▍ | 4392960/106826418 [00:00<00:06, 15716861.03it/s]
2019-07-23 17:39:34 default[test] 6%|▌ | 6256640/106826418 [00:00<00:06, 16489218.92it/s]
2019-07-23 17:39:34 default[test] 8%|▊ | 8407040/106826418 [00:00<00:05, 17728112.85it/s]
2019-07-23 17:39:34 default[test] 11%|█ | 11683840/106826418 [00:00<00:04, 20557603.00it/s]
2019-07-23 17:39:34 default[test] 13%|█▎ | 14356480/106826418 [00:00<00:04, 22086461.51it/s]
2019-07-23 17:39:34 default[test] 16%|█▌ | 17008640/106826418 [00:00<00:03, 23246105.82it/s]
2019-07-23 17:39:34 default[test] 18%|█▊ | 19374080/106826418 [00:00<00:03, 23225442.25it/s]
2019-07-23 17:39:35 default[test] 20%|██ | 21729280/106826418 [00:00<00:03, 23203081.94it/s]
2019-07-23 17:39:35 default[test] 24%|██▍ | 25681920/106826418 [00:01<00:03, 26483368.08it/s]
2019-07-23 17:39:35 default[test] 27%|██▋ | 28508160/106826418 [00:01<00:02, 26759076.64it/s]
2019-07-23 17:39:35 default[test] 29%|██▉ | 31313920/106826418 [00:01<00:02, 26995282.49it/s]
2019-07-23 17:39:35 default[test] 32%|███▏ | 34375680/106826418 [00:01<00:02, 27987817.70it/s]
2019-07-23 17:39:35 default[test] 35%|███▍ | 37253120/106826418 [00:01<00:02, 28005026.46it/s]
2019-07-23 17:39:35 default[test] 38%|███▊ | 40212480/106826418 [00:01<00:02, 28458335.10it/s]
2019-07-23 17:39:35 default[test] 40%|████ | 43100160/106826418 [00:01<00:02, 28379615.37it/s]
2019-07-23 17:39:35 default[test] 43%|████▎ | 45967360/106826418 [00:01<00:02, 22218027.73it/s]
2019-07-23 17:39:36 default[test] 45%|████▌ | 48414720/106826418 [00:01<00:02, 22336538.22it/s]
2019-07-23 17:39:36 default[test] 48%|████▊ | 51435520/106826418 [00:02<00:02, 24224996.22it/s]
2019-07-23 17:39:36 default[test] 51%|█████▏ | 54763520/106826418 [00:02<00:01, 26376309.32it/s]
2019-07-23 17:39:36 default[test] 54%|█████▍ | 57569280/106826418 [00:02<00:02, 21505161.66it/s]
2019-07-23 17:39:36 default[test] 56%|█████▌ | 60078080/106826418 [00:02<00:02, 22466550.18it/s]
2019-07-23 17:39:36 default[test] 59%|█████▉ | 63027200/106826418 [00:02<00:01, 24192591.42it/s]
2019-07-23 17:39:36 default[test] 61%|██████▏ | 65628160/106826418 [00:02<00:01, 24070010.24it/s]
2019-07-23 17:39:36 default[test] 64%|██████▍ | 68556800/106826418 [00:02<00:01, 25428249.96it/s]
2019-07-23 17:39:36 default[test] 68%|██████▊ | 72529920/106826418 [00:02<00:01, 28506739.68it/s]
2019-07-23 17:39:37 default[test] 71%|███████ | 75581440/106826418 [00:02<00:01, 28986836.20it/s]
2019-07-23 17:39:37 default[test] 74%|███████▎ | 78622720/106826418 [00:03<00:00, 29210576.39it/s]
2019-07-23 17:39:37 default[test] 76%|███████▋ | 81643520/106826418 [00:03<00:01, 22926790.84it/s]
2019-07-23 17:39:37 default[test] 79%|███████▉ | 84224000/106826418 [00:03<00:00, 23612840.24it/s]
2019-07-23 17:39:37 default[test] 82%|████████▏ | 87193600/106826418 [00:03<00:00, 25157952.55it/s]
2019-07-23 17:39:37 default[test] 84%|████████▍ | 89937920/106826418 [00:03<00:00, 25797481.66it/s]
2019-07-23 17:39:37 default[test] 87%|████████▋ | 92672000/106826418 [00:03<00:00, 26235841.07it/s]
2019-07-23 17:39:37 default[test] 89%|████████▉ | 95488000/106826418 [00:03<00:00, 26776710.45it/s]
2019-07-23 17:39:37 default[test] 92%|█████████▏| 98232320/106826418 [00:03<00:00, 26824171.60it/s]
2019-07-23 17:39:38 default[test] 95%|█████████▍| 100966400/106826418 [00:03<00:00, 26803548.31it/s]
2019-07-23 17:39:38 default[test] 97%|█████████▋| 103925760/106826418 [00:04<00:00, 27583062.30it/s]
2019-07-23 17:39:38 default[test] 100%|██████████| 106826418/106826418 [00:04<00:00, 25706775.94it/s]
2019-07-23 17:39:38 default[test] [W:pyppeteer.chromium_downloader]
2019-07-23 17:39:38 default[test] chromium download done.
2019-07-23 17:39:44 default[test] [W:pyppeteer.chromium_downloader] chromium extracted to: /root/.local/share/pyppeteer/local-chromium/575458
2019-07-23 17:39:46 default[test] [I:pyppeteer.launcher] Browser listening on: ws://127.0.0.1:22168/devtools/browser/c820f895-a90a-4242-a3fa-35dfda06be3f
2019-07-23 17:39:48 default[test] [2019-07-23 17:39:48 +0000] [9] [INFO] Handling signal: term
2019-07-23 17:39:48 default[test] [2019-07-23 17:39:48 +0000] [17] [INFO] Worker exiting (pid: 17)```
解决方案
Pyppeteer 正在将 chromium 可执行文件下载到不可写的本地文件系统 [1],这就是为什么当它尝试访问该文件时,它不再存在并退出。您可以将 chromium 下载到 Google Cloud Storage 上的存储桶,然后从那里读取文件。
[1]读写文件
在 App Engine 中,您的应用程序部署到的本地文件系统是不可写的。此行为可确保您的应用程序的安全性和可扩展性。
但是,如果应用程序需要在运行时写入和读取文件,App Engine 提供了一个内置的 Google Cloud Storage 流包装器,允许您使用许多标准 PHP 文件系统函数在 App Engine PHP 应用程序中读取和写入文件。
推荐阅读
- python - 即使在单击下一步按钮后,脚本也会从第一页获取相同的结果
- android - 如何在Android中模拟按钮按下
- python - 在python中的字符串mongo查询中传递参数
- java - 在Android中控制音乐播放器的音乐
- c++ - 当有多个匹配可能性时,`std::regex_search` 是否有任何保证
- react-native - 将道具传递给 tabNavigator 的屏幕
- python - 试图从雅虎股票数据中打印第一个高值,得到“基于非整数索引的索引只能有非整数索引器”
- r - 用 ggplot 绘制不相似的数据
- javascript - 将 JSON 数据提取到表中
- python - 在 Ubuntu 上安装 OpenCV 时出现“致命错误:Eigen/Core:没有这样的文件或目录”