前一篇文章防止恶意刷接口 给网站加验证码很多人评论,说验证码可以智能识别。

学委震惊了! 我们搞系统设计和开发加入类似验证码等技术,主要防止恶意。 如果有人想要程序遍历穷举智能识别,通过社会工程加上一些黑客技术,估计就是时间问题。但是我们会了技术,必须正直有良心,不能啥都去干!!!

这次先分享一个截屏网站的。后面再写代码自动识别登录自己的网站。

本文主要讨论简短能入门的截屏代码,并配置把它跑起来!

举个例子:为了学习热榜,我把热榜截图保留下来以后学习

第一步安装selenium

selenium 是一个浏览器自动化框架,支持多语言。不多说直接安装:

#本文使用版本:3.141.0
pip install selenium

不清楚pip的朋友请看 快速学会并精通pip 并三连支持。有问题可以友善评论。

这是selenium官网: https://www.selenium.dev/

第二步直接写代码

把下面的代码保存为auto.py

'''
雷学委现写代码,只支持Python3。 其他版本请读者自行实现。
'''
from selenium import webdriver
from selenium.webdriver import Firefox,Chrome
from selenium.webdriver.common.by import Bydef xuewei_open(driver, url):driver.get(url)driver.maximize_window()driver.implicitly_wait(5)print("max done")def exit(driver):driver.quit()print("exit...")#这里是本机的chromedriver路径
driver = Chrome("/Users/mac/webdriver/chromedriver")
driver.implicitly_wait(3)img_path = "./code.png"
#可以用百度新闻
#url="http://news.baidu.com/"
#也可以把CSDN热榜截图保存,保持学习热榜文章
url = "https://blog.csdn.net/rank/list"
xuewei_open(driver, url)chrome_size = driver.get_window_size()
print("win size %s " % str(chrome_size))driver.get_screenshot_as_file(img_path)
print("save screen to path: %s"% img_path)exit(driver)

运行上面的代码:python auto.py

下图就是上面代码截屏出来的:

第三步,如果第二步发现因为chromedriver没有安装

请移步 chrome driver 版本下载, 从下面三个任意选一个:
http://npm.taobao.org/mirrors/chromedriver/
http://chromedriver.storage.googleapis.com/index.html
https://chromedriver.chromium.org/downloads

因为上面的代码直接硬编码了chromedriver的路径了。解压,配置到的PATH,但不是必要。

下载对应版本的报,解压安装到/Users/mac/webdriver/ 。

最终路径为:/Users/mac/webdriver/chromedriver

下面是验证安装效果,注意版本号跟当前主机安装的chrome浏览器一致!否则重新下载。

原理简化解析

如下图的组件交互过程:

selenium 内部驱动了chromedriver,我们调用driver的各种函数,背后其实就是chromedriver跟浏览器沟通。

比如driver.maximize_window 这个函数会通过 chromedriver 传递一个最大化窗口的指令给Chrome浏览器。

不止是Chrome浏览器,selenium 还支持多个浏览器的自动化,我们后面再看。

题外话

不是说智能识别验证码吗?小白请先把上面的代码学了。

智能识别验证的过程就是:

  1. 截屏带验证码的页面
  2. 局部提取图片
  3. 解析图片为文本(还有其他形式需要用其他的库)
  4. 使用selenium调用driver提交验证码带上(send_keys)。

会的朋友可以先试试看。

最后使用爬虫必须谨慎,不要当做儿戏去爬机构网站。你学习也不能拿严肃的网络来刷,这个行为迟早会让你吃上LAO饭!

本文仅作展示目的,对于演示网站有任何异议,请告知修改。

持续学习持续开发,我是雷学委!
编程很有趣,关键是把技术搞透彻讲明白。
创作不易,请多多支持,点赞收藏支持学委吧!

学会爬虫不用再收藏了,直接把网站拍照留念相关推荐

  1. Excel格式刷的操作有哪些?学会终于不用再加班了!

    在Office的办公软中,无论是表格还是word文档,都有格式刷这一功能,那么大家知道Excel表格中的格式刷操作有哪些吗?今天小编给大家分享几种看看,大家看看会不会操作啊! No.1格式刷基础复制格 ...

  2. 你的电脑是不是github访问一段时间又不能访问了?提示无法访问此网站。教你原理,这次学会就不用再百度

    一. 直达车:解决方法 前几天我的github还能访问,这几天访问就出现了如下的情况: 原理:修改C:\Windows\System32\drivers\etc下的hosts文件,不需要粘贴如下图太多 ...

  3. python爬虫——从此不用再愁找不到小说txt文件

    python爬虫--从此不用再愁找不到小说txt文件 最近在学习python,学了个大概就开始写爬虫了,之前做了个糗百的简单爬虫,然后底下还做了一些学校教务系统的爬虫,爬取了自己的成绩,看着挂科的大英 ...

  4. 电脑出现qtwebengineprocess.exe停止报警_FANUC报警号,不用再翻书本了。

    FANUC 0MD系统报警说明,觉得有用就收藏吧,不用再翻书本啦 1.程序报警(P/S报警)报警号 报警内容 000修改后须断电才能生效的参数,参数修改完毕后应该断电. 001TH报警,外设输入的程序 ...

  5. 巧学五笔打字-----1小时可学会,不用死背字根 [图片]

    2018-05-08  海风云书  转自 competitora... 修改微信分享: 基本上1小时可学会,不用死背字根,只要你找对规律. 五笔为横,竖,撇,捺点,折. 其中横为一笔,竖为二笔,撇为三 ...

  6. 精通mysql索引机制,你就不用再背sql优化口诀了!!(万字长文)

    也许很多人都背过 MySQL 调优的口诀,但是从来不理解为什么这样子写出的 sql 语句,可以有更高的性能. 而要理解其中的原由,就必须对 MySQL 底层的做一定的了解. 同时,为了进大厂,你也必须 ...

  7. Python开发 之 10分钟教你学会爬虫Scrapy

    文章目录 一.简介 二.Scrapy的简单示例 1.先找一个需要爬的网页 2.先给用的浏览器下载一个"XPath"查询插件 2.1 谷歌浏览器方法 2.2 360浏览器的方法(博主 ...

  8. 手机密码锁机的朋友不用再去营业厅解锁.自己搞定(未测试)

    (注意:本文为网上收集,仅仅为个人收藏,如果强行使用造成严重后果本人不负任何责任! 强烈建议:锁了机还是拿到营业厅解锁) 手机密码锁机的朋友不用再去营业厅解锁.自己搞定 解话机锁:*2767*2878 ...

  9. 在线html差错,易查分在线编辑功能:发现错误随时修改,不用再重新上传表格!

    原标题:易查分在线编辑功能:发现错误随时修改,不用再重新上传表格!

最新文章

  1. python画抛物线_如何使用python的matplotlib模块画抛物线
  2. 数据库结构Sqlite与CoreData
  3. Java中的String数据类型归纳
  4. 关于pygame和tkinter窗口的那件事-线程
  5. ORA-12638: 身份证明检索失败
  6. Object_id用法
  7. python易学吗_所有人都说Python 简单易学,为何我觉得难?
  8. EMQX源码阅读笔记
  9. 25深入理解C指针之---传递数组
  10. Everything 中文绿色版
  11. Oracle数据库中序列用法讲解(转)
  12. linux解压zip
  13. html网页设计实验原理,网页设计实验报告
  14. Opengl es2.0 学习笔记(九)颜色混合
  15. Word写论文及PPT画论文图的经验总结
  16. PCB板检测机(PCB板外观缺陷视觉检测设备)
  17. Elastic控制查询精准度-minimum_should_match
  18. java日志篇(2)-JUL(java.util.logging)
  19. SAP MM06物料删除
  20. 贵卅大学计算机研究生院导师,贵州大学机械工程学院研究生导师:罗绍华

热门文章

  1. cv::fitLine用法
  2. 三维图形几何变换与投影变换
  3. MATLAB | 艺术就是画圈圈
  4. Postgresql杂谈 04—Postgresql中的五种常规索引
  5. 三维地图打造数、实融合底座
  6. wlh机器人_机器人小组活动实施方案
  7. 在线使用ChatGPT,国内手机号也可以注册。
  8. xlsxwriter进度条php,PHP导出Excel数据导出,前端进度条实现方式
  9. 长芯微LCM1118 16 位模数转换器 P2P替代ADS1118
  10. 箱线图的几种画法-Python