当前位置: 首页 > 科技 > 人工智能 > Python模拟登陆豆瓣自动评论并自动识别验证码_腾讯新闻

Python模拟登陆豆瓣自动评论并自动识别验证码_腾讯新闻

天乐
2020-12-19 03:37:13 第一视角

前言

本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理。

基本开发环境

Python 3.6

Pycharm

Selenium

Selenium 是一个 Web 的自动化测试工具,最初是为网站自动化测试而开发的,就像玩游戏用的按键精灵,可以按指定的命令自动操作。

Selenium 测试工具直接操控浏览器中,就像真正的用户在操作一样。Selenium 可以根据的指令,让浏览器自动加载页面,获取需要的数据,甚至页面截屏,或者判断网站上某些动作是否发生等。

Selenium配置

Selenium 支持多种浏览器,最常见的就是火狐谷歌浏览器。首先在电脑上下载浏览器,浏览器版本不宜过新。

本篇文章使用版本:谷歌

火狐驱动下载地址:http://npm.taobao.org/mirrors/geckodriver/

打开谷歌浏览器,所在的文件位置,可以看到谷歌浏览器的版本。

驱动下载和谷歌浏览器版本最接近的就可以了。

配置浏览器驱动:

将下载好的浏览器驱动解压,将解压出的 文件放到Python的安装目录下,也就是和同目录即可,也可以和代码放到同一个路径当中。

脚本实现过程

1、选择一个帖子,先请求访问该链接

2、选取登陆的标签,点击登陆

可以选择使用css选择器提取标签,也可以选择使用xpath提取标签,根据个人喜好,自行选择。

3、登陆界面,点击选择密码登陆,输入账号以及密码,点击登陆

4、输入发送的内容以及点击发送

可以看到,继续发言和发送内容框的标签是一样的。

5、自动识别验证码

当发送评论频繁时,会出现验证码。

所以需要先获取验证码标签,截图保存验证码,这里是通过打码平台自动识别验证。然后再点击发送,不过这里是需要判断一下的,当出现验证码的时候,才识别,没有就不管,评论次数不要频繁还是不会出现验证码的。

最后把发送评论这块代码写一个循环即可自动多次评论了,可以写死。

总结:

1、代码当中可以设置适当的延时,可以达到不出现验证码的效果

2、特别注意输入密码登陆时候,输入快过,会出现滑块验证

3、也可以选择不使用selenium自动评论,也可以直接请求requests模拟登陆豆瓣

4、还有很多可以优化的或者更好的方法,可以自行去实现

5、看完之后记得点赞、分享、再看哈

提示:支持键盘“← →”键翻页
为你推荐
加载更多
意见反馈
返回顶部