网络爬虫,也叫网络蜘蛛,是一种用来自动浏览万维网的网络机器人。其目的一般为编纂网络索引。网络搜索引擎等站点通过爬虫软件更新自身的网站内容或其对其他网站的索引。
网络爬虫可以将自己所访问的页面保存下来,以便搜索引擎事后生成索引供用户搜索。 爬虫访问网站的过程会消耗目标系统资源。不少网络系统并不默许爬虫工作。因此在访问大量页面时,爬虫需要考虑到规划、负载,还需要讲“礼貌”。 不愿意被爬虫访问、被爬虫主人知晓的公开站点可以使用robots.txt文件之类的方法避免访问。这个文件可以要求机器人只对网站的一部分进行索引,或完全不作处理。
互联网上的页面极多,即使是最大的爬虫系统也无法做出完整的索引。因此在公元2000年之前的万维网出现初期,搜索引擎经常找不到多少相关结果。现在的搜索引擎在这方面已经进步很多,能够即刻给出高质量结果。
爬虫还可以验证超链接和HTML代码,用于网络抓取。
•
随机数字图片验证码
•
滑动拼图验证
•
手机验证码验证
•
邮箱手机组合验证
在爬虫过程中,大多我们都会碰到验证码识别,它是常用的一种反爬手段,包括:滑块验证码,图片验证码,算术验证码,点击验证码,所讲的图片验证码是较简单的,推荐一款强大验证码识别工具ddddocr
。
项目地址:https://github.com/sml2h3/ddddocr
# 安装命令
pip install ddddocr
# 使用方法
import ddddocr
ocr = ddddocr.DdddOcr()
with open("test.jpg", 'rb') as f:
image = f.read()
res = ocr.classification(image)
print(res)
成功登陆三个测试网站:
Scrape | Movie
Scrape | Captcha
Scrape | Captcha
https://login2.scrape.center/ 是一个没有验证码的网站, 我们只需要输入用户名和密码即可
Scrape | Captcha 是一个有图片验证码的网站, 我们可以使用 OCR 来识别图片验证码
Scrape | Captcha 是一个有文字点选验证码的网站, 同样可以使用 OCR 来判断各个文字是否一样, 出现识别文字不一样的情况可以比较文字相似度
Selenium 是一个用于Web应用程序测试的工具,Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。
Playwright 是针对 Python 语言的纯自动化工具,它可以通过单个API自动执行 Chromium,Firefox 和 WebKit 浏览器,连代码都不用写,就能实现自动化功能。
首先查看浏览器版本,然后前往官网下载对应最近的版本驱动,将浏览器驱动解压缩后,exe文件直接放到python根目录下,网上有些教程是将驱动程序的路径写到path中去,这样也可以但并不推荐,因为python中调用驱动默认是在python根目录下,如果在其它路径,每次调用还需要将驱动所在的路径写上。
captcha3.py https://captcha3.scrape.center/ 登陆源码
captcha8.py https://captcha8.scrape.center/ 登陆源码
login2.py https://login2.scrape.center/ 登陆源码
README.md 项目描述说明文档
requirements.txt 项目依赖包版本号(项目需要下载到本地执行,如果有第三方依赖包,必须填写)
# 登陆程序 位于captcha3.py文件 第14行
def login():
"""登陆程序"""
pass
# 登陆程序 位于captcha8.py文件 第17行
def login():
"""登陆程序"""
pass
# 登陆程序 位于login2.py文件 第12行
def login():
"""登陆程序"""
pass