问题原因:
初次安装 pyppeteer
pip install pyppeteer
自己安装了以后, 我打算来调用是一下
async def get_screenshot(url):
browser = await launch()
page = await browser.newPage()
await page.goto(url)
screenshot = await page.screenshot()
await browser.close()
return screenshot
结果就报错了,问题说在 await launch() 位置有问题, 问了 GPT 说,下载的东西没找到,也打开这个链接了 确实没有
Traceback (most recent call last):
File "C:\Users\15206\Desktop\python\evidence_api\pupp_evidence_task_sync.py", line 188, in <module>
asyncio.get_event_loop().run_until_complete(main(data={"url": "https://www.xiaohongshu.com/explore/6604eac7000000000d00d818", 'category': [1, 2]}))
File "C:\soft\miniconda\envs\evidence_api\lib\asyncio\base_events.py", line 616, in run_until_complete
return future.result()
File "C:\Users\15206\Desktop\python\evidence_api\pupp_evidence_task_sync.py", line 68, in main
browser = await launch(
File "C:\soft\miniconda\envs\evidence_api\lib\site-packages\pyppeteer\launcher.py", line 307, in launch
return await Launcher(options, **kwargs).launch()
File "C:\soft\miniconda\envs\evidence_api\lib\site-packages\pyppeteer\launcher.py", line 120, in __init__
download_chromium()
File "C:\soft\miniconda\envs\evidence_api\lib\site-packages\pyppeteer\chromium_downloader.py", line 138, in download_chromium
extract_zip(download_zip(get_url()), DOWNLOADS_FOLDER / REVISION)
File "C:\soft\miniconda\envs\evidence_api\lib\site-packages\pyppeteer\chromium_downloader.py", line 82, in download_zip
raise OSError(f'Chromium downloadable not found at {url}: ' f'Received {r.data.decode()}.\n')
OSError: Chromium downloadable not found at https://storage.googleapis.com/chromium-browser-snapshots/Win_x64/1181205/chrome-win.zip: Received <?xml version='1.0' encoding='UTF-8'?><Error><Code>NoSuchKey</Code><Message>The specified key does not exist.</Message><Details>No such object: chromium-browser-snapshots/Win_x64/1181205/chrome-win.zip</Details></Error>.
错误日志信息:
OSError: Chromium downloadable not found at https://storage.googleapis.com/chromium-browser-snapshots/Win_x64/1181205/chrome-win.zip: Received <?xml version='1.0' encoding='UTF-8'?>NoSuchKey
The specified key does not exist.No such object: chromium-browser-snapshots/Win_x64/1181205/chrome-win.zip.
这是报错信息,按照这个信息 找了半天但是没有结果。网上也看了很多帖子,但是给出的地址都不能访问,没有头绪。
不过我回过来想到, 我是有运行成功的环境的,我突然想到是不是版本的问题:
马上打开其他的环境:
pip list
这个是现在报错的版本( ----pyppeteer 2.0.0-----)
pyee 11.1.0
Pygments 2.16.1
pyppeteer 2.0.0
Pyrogram 2.0.106
PyYAML 6.0
,我对比了下 我运行正常的版本
pyee 8.2.2
pyppeteer 1.0.2
setuptools 68.2.2
tqdm 4.66.2
好好好,版本确实有点差异,安装回旧版本试试
pip install pyppeteer==1.0.2
然后运行代码 不报错了,正常返回
2024-04-26 17:36:41.427 | INFO | __main__:main:137 - https://www.xiaohongshu.com/explore/6604eac7000000000d00d818 取证成功!
--------------取证成功-------------------
{'url': 'https://www.xiaohongshu.com/explore/6604eac7000000000d00d818', 'image_url': '', 'image_base64': 'data:image/png;base64,
要是找不到问题所在的,不妨试试 降个版本,不一定最新的就是最稳定的。
问题解决
版本的问题,在项目目录下,pycharm下面打开终端 安装 pip install pyppeteer==1.0.2
等待加载完成,然后重试就可以了。