记录pyppeteer使用过程中遇到的BUG

首先是耳熟能详的介绍:
    Puppeteer 是 Google 基于 Node.js 开发的一个工具,主要是用来操纵 Chrome  浏览器的 API,通过 Javascript 代码来操纵 Chrome 浏览器的一些操作,用作网络爬虫完成数据爬取、Web 程序自动测试等任务。其 API 极其完善,功能非常强大。 而 Pyppeteer 又是什么呢?它实际上是 Puppeteer 的 Python 版本的实现,但他不是 Google 开发的,是一位来自于日本的工程师依据 Puppeteer 的一些功能开发出来的非官方版本

安装:

pip install pyppeteer 

第一个坑:

随着人们对数据重要性的认知,对数据保护越来越严格,以前万金油的selenium也被很多网站进行了甄别,比如某宝等

使用pyppeteer是为了对一些js加密混淆以及上述情况进行处理,具体使用方法自行度娘,有很多教程和现成的使用案例

当我们运行之后,会发现它有很多的输出日志信息,这块怎么办呢,经过多方搜索,崔大大(https://github.com/miyakogi/pyppeteer/issues/103) 提供了一个解决方案:

import logging
pyppeteer_level = logging.WARNING
logging.getLogger('pyppeteer').setLevel(pyppeteer_level)
logging.getLogger('websockets.protocol').setLevel(pyppeteer_level)

第二个坑:

我在linux上部署后,发现怎么都运行不起来

原来是因为pyppeteer需要在没有沙盒arg的情况下运行这里参考https://blog.csdn.net/qq_26870933/article/details/101288399,谢谢猫哥的鱼库

# browser = await pyppeteer.launch()  需要更改为下面的
browser = await pyppeteer.launch(options={'args': ['--no-sandbox']})

第三个坑

如果运行项目时发现第二个坑始终存在,也有可能是chromium安装问题,在linux上运行下面命令查看chromium是否存在

whereis chromium

上图发现,pyppeteer并没有成功安装chromium

解决方案,参考下面这位大佬的博客

https://www.cnblogs.com/ianduin/p/12003626.html

我的centos系统就出现了这个情况,根据这个博客安装之后在运行,就没问题了

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值