当前位置:  首页  >  PHP资讯  >  业界资讯

selenium+python实现1688网站验证码图片的截取功能

这篇文章主要介绍了selenium+python实现1688网站验证码图片的截取,需要的朋友可以参考下

1. 背景

•在1688网站爬取数据时,如果访问过于频繁,无论用户是否已经登录,就会弹出如下所示的验证码登录框。

这里写图片描述

一般的验证码是类似于如下的元素(通过链接单独加载进页面,而不是嵌入图片元素):

 

通过分析网页源代码,我们可以得出以下结论:

•这个验证码登录框是通过iframe嵌入到网页中的。
•页面中不止这一个iframe嵌套。
•这个验证码iframe有很明显的特征:id=”sufei-dialog-content”和src=”https://sec.1688.com/query.htm?……”

  

5. 结果展示

•整个可视区域:screenshot.png

这里写图片描述

•验证码登录框iframe区域:iframe.png

这里写图片描述

•相对于iframe截取的验证码图片:captcha1.png

这里写图片描述

•相对于整个可视区域截取的验证码图片:captcha2.png

这里写图片描述

6. 拓展

 # 摘自https://www.cnblogs.com/my8100/p/7225408.html chrome default: location 不滚动,直接返回相对整个html的坐标 {'x': 15.0, 'y': 129.0} location_once_scrolled_into_view 返回相对可视区域的坐标(改变浏览器高度,可以观察到底部元素底部对齐后y的变化) 顶部/底部元素 完全可见不滚动,{u'x': 15, u'y': 60} 顶部元素部分可见或完全不可见都会滚动到 顶部对齐 {u'x': 15, u'y': 0} account-wall 底部元素部分可见或完全不可见都会滚动到 底部对齐 {u'x': 15, u'y': 594} theme-list frame: location 不滚动,直接返回相对frame即当前相应内层html的坐标{'x': 255.0, 'y': 167.0} captcha_frame 的 lc-refresh location_once_scrolled_into_view 返回相对可视区域的坐标 完全可见不滚动{u'x': 273, u'y': 105} 部分可见或完全不可见滚动到 顶部对齐 {u'x': 273, u'y': 0} firefox default: 顶部元素 底部元素 location 不滚动,直接返回相对整个html的坐标 {'x': 15.0, 'y': 130.0} {'x': 15.0, 'y': 707.0} location_once_scrolled_into_view 返回相对可视区域的坐标(y=1足以说明) 可见不可见 都滚动到顶部对齐 {'x': 15.0, 'y': 1.0} {'x': 15.0, 'y': 1.0} 如果下拉条直到底部,底部元素仍然无法顶部对齐 {'x': 15.0, 'y': 82.0} frame: location 不滚动,都是相对frame即当前相应html的坐标{'x': 255.0, 'y': 166.0} location_once_scrolled_into_view 可见不可见都会滚动到顶部对齐,('y'依旧是166.0) 结果也是相对frame即当前相应html的坐标{'x': 255.0, 'y': 166.0} # 总结 location 始终不滚动,返回相对整个html或者对应frame的坐标 location_once_scrolled_into_view chrome完全可见不滚动,firefox始终会滚动;而且chrome底部元素会底部对齐,其余情况两者都是顶部对齐。 一般返回相对可视区域坐标,但是firefox的frame依旧返回相对frame的坐标 # 摘自:https://zhuanlan.zhihu.com/p/25171554 selenium.webdriver 内置了截取当前页面的功能,其中: a.WebDriver.Chrome自带的方法只能对当前窗口截屏,若是需要截取的窗口超过了一屏,就只能另辟蹊径了。 b.WebDriver.PhantomJS自带的方法支持对整个网页截屏。

总结

以上所述是小编给大家介绍的selenium+python实现1688网站验证码图片的截取功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!

内容推荐:免费高清PNG素材下载
吐了个 "CAO" !
扫码关注 PHP1 官方微信号
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved PHP1.CN 第一PHP社区 版权所有 京ICP备19059560号-4