【基于Selenium的发票查验-部署笔记】
基于Selenium的发票查验
- 前言
- 目录结构
- 验证码部分
- 部署笔记
- 1.Centos7将Python3.6升级至Python3.9
- 2.Centos7配置Chrome+Chromedriver环境
- 3.解决Chrome中文方块乱码
- 4.安装selenium并测试
- 5.GUI界面
前言
由于本人才粗学浅,JS逆向国税局做不到,只好采用"笨"方法使用Selenium进行发票查验,本文记录的是部署笔记
目录结构
├── README.md # 帮助文档├── ChromeBrowserDrive.py # 基于selenium的Chrome驱动├── InvoiceAutomationVerify.py # 用于处理页面爬取├── OtherUtil.py # 其它的杂七杂八├── Server.py # 基于Flask的请求查验接口├── stealth.min.js # 不知道是啥
(原文链接: https://blog.csdn.net/cqcre/article/details/110944075)├── VerifCodeOCR.py # 基于opencv的彩色提取和ddddocr的文字识别├── PicSpiltDir # 存放图片│ ├── code.png # 验证码图片│ ├── black.png # 蓝色文字图片│ ├── red.png # 红色文字图片│ ├── ...├── Logging.txt # 日志目录
验证码部分
不会大佬们的验证码训练,所以采用截图后将彩色文字提取出来,提取后使用ddddocr进行文字识别,在这里由衷的感谢ddddocr作者
色彩提取
验证码原图
提取的红色文字
提取的黑色文字
部署笔记
1.Centos7将Python3.6升级至Python3.9
华为镜像源: https://repo.huaweicloud.com/python/
# 1.1 下载Python3.9.8安装包
wget https://repo.huaweicloud.com/python/3.9.8/Python-3.9.8.tar.xz
# 1.2 解压Python安装包
tar - xvf Python-3.9.8.tar.xz
# 2.1 移除旧版本Python, 删除软链接
rm -rf /usr/bin/python3
rm -rf /usr/bin/pip3
# 2.2 清空旧版本内容, 注意: python2 和 python3 是在同一个目录中!!!
# 2.2.1 进入目录
cd /usr/bin
# 2.2.2 卸载Python3
rpm -qa|grep python3|xargs rpm -ev --allmatches --nodeps
# 2.2.3 卸载所有残余文件
whereis python3 |xargs rm -frv
# 2.3 查看现有安装的python
whereis python
# >>> python: /usr/bin/python2.7 ...
# 3.执行安装Python
# 3.1 进入刚刚解压的目录 本文目录地址是 /usr/tmp/Python-3.9.8
cd /usr/tmp/Python-3.9.8
# 3.2 指定安装目录
./configure --prefix=/usr/local/python3
# 3.3 make编译与安装
make && make altinstall
# 3.4 删除临时文件
make clean
# 4.创建软链接
ln -s /usr/local/python3/bin/python3 /usr/bin/python3
ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3
Python3升级原文地址: https://blog.csdn.net/yxn4065/article/details/124161186
2.Centos7配置Chrome+Chromedriver环境
Chrome地址:
# 1.下载 chrome
wget https://dl.google.com/linux/direct/chrome_current_x86_64.rpm
# 1.2 使用 yum 本地安装
yum localinstall chrome_current_x86_64.rpm
# 1.3 查看 chrome 版本
google-chrome --version
# >>> Google Chrome 109.0.5414.74# chromedriver 各版本地址: https://registry.npmmirror.com/binary.html?path=chromedriver/
# 2.1 下载 chromedriver
wget https://registry.npmmirror.com/-/binary/chromedriver/109.0.5414.74/chromedriver_linux64.zip
# 2.2 解压文件
unzip chromedriver_linux64.zip
# 2.3 查看 chrome 所在目录
rpm -qal |grep chrome
# 2.4 chromedriver 移动到 chrome 目录
mv chromedriver /usr/bin/
# 2.5 chromedriver 赋权
chmod 755 /usr/bin/chromedriver
Chrome安装原文地址: https://zhuanlan.zhihu.com/p/111603377
3.解决Chrome中文方块乱码
yum -y groupinstall "X Window System"
yum -y groupinstall chinese-support
yum -y groupinstall Fonts
解决Chrome中文方块乱码原文地址: https://www.cnblogs.com/vekair/p/15878518.html
4.安装selenium并测试
# 1.安装selenium
pip3 install selenium -i https://pypi.mirrors.ustc.edu.cn/simple/
# Python3测试selenium环境部署结果
import time
from selenium.webdriver import Chrome
from selenium.webdriver.chrome.options import OptionsCHROME_PATH = "/usr/bin/google-chrome"
DRIVER_PATH = "/usr/bin/chromedriver"options = Options()
options.add_argument("--headless")
options.page_load_strategy = 'eager'
options.add_argument('ignore-certificate-errors')
options.add_argument('--no-sandbox')
options.add_argument('--disable-dev-shm-usage')
options.add_argument('blink-settings=imagesEnabled=false')
options.add_argument('--disable-gpu')
options.add_argument('user-agent=Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) ''Chrome/109.0.5414.74 Safari/537.36'
)
# 指定浏览器路径
options.binary_location = CHROME_PATH
# 实例化驱动器
browser = Chrome(executable_path=DRIVER_PATH, options=options)
# 读取配置文件
with open('./stealth.min.js') as f:js = f.read()
# 变更配置
browser.execute_cdp_cmd("Page.addScriptToEvaluateOnNewDocument", {"source": js})
# 打开网页
browser.get("https://www.baidu.com")
# 等待1秒
time.sleep(1)
# 打印网页源码
print(browser.page_source)
# 退出浏览器
quit()
centos7中配置python爬虫原文地址: https://zhuanlan.zhihu.com/p/111603377
5.GUI界面
https://blog.csdn.net/Jhing99/article/details/128864137
【基于Selenium的发票查验-部署笔记】相关推荐
- Spark集群基于Zookeeper的HA搭建部署笔记(转)
原文链接:Spark集群基于Zookeeper的HA搭建部署笔记 1.环境介绍 (1)操作系统RHEL6.2-64 (2)两个节点:spark1(192.168.232.147),spark2(192 ...
- mysql读写分离 存储过程_基于maxscale的读写分离部署笔记
使用maxscale搭建的读写分离架构,后期还可以再结合MHA做master的故障转移,这样业务层面上不需要做任何的改动即可. 基于connect方式的不要使用.从库延迟他还会继续分发请求过去,暂时不 ...
- 国税总局发票查验平台验证码识别方案,识别率达98%
全国增值税发票查验平台验证码 2020.04.30 已经同步更新,测试网址不变 手动置顶:验证码识别测试页面(可视化操作) 识别率97.5%,图片接口支持手动测试,以图片形式返回结果:文本接口需要联系 ...
- python3.7界面设计_基于selenium+Python3.7+yaml+Robot Framework的UI自动化测试框架
前端自动化测试框架 项目说明 本框架是一套基于selenium+Python3.7+yaml+Robot Framework而设计的数据驱动UI自动化测试框架,Robot Framework 作为执行 ...
- 基于 Selenium 掘金自动签到、抽奖的定时任务
项目地址:https://github.com/tomoyachen/juejin-signin 更新日志: 2022-02-20 自动浏览首页文章 2022-01-28 增加 7 天内过期通知 20 ...
- 国税局发票查验中英文验证码识别最新版,识别率99.9%
采用深度学习进行发票查验验证码模型的训练,在我电脑上模型训练的环境如下: 显卡:RTX 2080TI tensorflow-gpu:2.5.3 1 训练集和测试集的准备 发票查验的验证码分为4种类型, ...
- 基于selenium+scrapy爬取复仇者联盟4豆瓣影评数据
基于selenium+scrapy爬取复仇者联盟4豆瓣影评数据 参考资料: 黑马程序员爬虫教程 静觅爬虫教程 mac下anaconda安装selenium+PhantomJS scrapy下载中间件结 ...
- 基于Docker安装Jenkin并部署项目
基于Docker安装Jenkin并部署项目 一.安装 1.1 安装Docker 点击查看笔记:Docker安装 1.2 安装Docker Compose # 1.下载文件,使用的是国内镜像 curl ...
- python基础教程:Python如何基于selenium实现自动登录博客园
这篇文章主要介绍了Python如何基于selenium实现自动登录博客园,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 需要做的准备: 本文章是使用 ...
最新文章
- zuul如果两个filter的order一样,是如何排序的?
- 行列式计算的两种方法
- tmux不自动加载配置文件.tmux.conf
- Jetson TX2 学习资料整理
- Python Train_机器学习--基于Python的简单线性回归
- 在线生成 CSS3 的工具
- 【Json】json解析
- JS排序算法之插入排序
- Javascript如何改变数组的长度?
- esxi安装openwrt_双软路由安装——ROS安装、上网、DNS缓存、常用设置(小白教程)...
- Some Essential JavaScript Questions And Answers(2)
- layui按钮展开、_layui可折叠的组织架构树形图
- 微信小程序page禁止页面上下滑动
- Could not autowire field: XXXXX.
- Android网络收集和ping封装库
- 知识点 —— Python基础-1
- wps在任务栏取消显示多个文档的预览
- Windows系统的照片查看器不见了怎么办?
- Antv踩坑—导入画布数据监听画布渲染完成事件
- poi解析不固定列excel