基于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的发票查验-部署笔记】相关推荐

  1. Spark集群基于Zookeeper的HA搭建部署笔记(转)

    原文链接:Spark集群基于Zookeeper的HA搭建部署笔记 1.环境介绍 (1)操作系统RHEL6.2-64 (2)两个节点:spark1(192.168.232.147),spark2(192 ...

  2. mysql读写分离 存储过程_基于maxscale的读写分离部署笔记

    使用maxscale搭建的读写分离架构,后期还可以再结合MHA做master的故障转移,这样业务层面上不需要做任何的改动即可. 基于connect方式的不要使用.从库延迟他还会继续分发请求过去,暂时不 ...

  3. 国税总局发票查验平台验证码识别方案,识别率达98%

    全国增值税发票查验平台验证码 2020.04.30 已经同步更新,测试网址不变 手动置顶:验证码识别测试页面(可视化操作) 识别率97.5%,图片接口支持手动测试,以图片形式返回结果:文本接口需要联系 ...

  4. python3.7界面设计_基于selenium+Python3.7+yaml+Robot Framework的UI自动化测试框架

    前端自动化测试框架 项目说明 本框架是一套基于selenium+Python3.7+yaml+Robot Framework而设计的数据驱动UI自动化测试框架,Robot Framework 作为执行 ...

  5. 基于 Selenium 掘金自动签到、抽奖的定时任务

    项目地址:https://github.com/tomoyachen/juejin-signin 更新日志: 2022-02-20 自动浏览首页文章 2022-01-28 增加 7 天内过期通知 20 ...

  6. 国税局发票查验中英文验证码识别最新版,识别率99.9%

    采用深度学习进行发票查验验证码模型的训练,在我电脑上模型训练的环境如下: 显卡:RTX 2080TI tensorflow-gpu:2.5.3 1 训练集和测试集的准备 发票查验的验证码分为4种类型, ...

  7. 基于selenium+scrapy爬取复仇者联盟4豆瓣影评数据

    基于selenium+scrapy爬取复仇者联盟4豆瓣影评数据 参考资料: 黑马程序员爬虫教程 静觅爬虫教程 mac下anaconda安装selenium+PhantomJS scrapy下载中间件结 ...

  8. 基于Docker安装Jenkin并部署项目

    基于Docker安装Jenkin并部署项目 一.安装 1.1 安装Docker 点击查看笔记:Docker安装 1.2 安装Docker Compose # 1.下载文件,使用的是国内镜像 curl ...

  9. python基础教程:Python如何基于selenium实现自动登录博客园

    这篇文章主要介绍了Python如何基于selenium实现自动登录博客园,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 需要做的准备: 本文章是使用 ...

最新文章

  1. zuul如果两个filter的order一样,是如何排序的?
  2. 行列式计算的两种方法
  3. tmux不自动加载配置文件.tmux.conf
  4. Jetson TX2 学习资料整理
  5. Python Train_机器学习--基于Python的简单线性回归
  6. 在线生成 CSS3 的工具
  7. 【Json】json解析
  8. JS排序算法之插入排序
  9. Javascript如何改变数组的长度?
  10. esxi安装openwrt_双软路由安装——ROS安装、上网、DNS缓存、常用设置(小白教程)...
  11. Some Essential JavaScript Questions And Answers(2)
  12. layui按钮展开、_layui可折叠的组织架构树形图
  13. 微信小程序page禁止页面上下滑动
  14. Could not autowire field: XXXXX.
  15. Android网络收集和ping封装库
  16. 知识点 —— Python基础-1
  17. wps在任务栏取消显示多个文档的预览
  18. Windows系统的照片查看器不见了怎么办?
  19. Antv踩坑—导入画布数据监听画布渲染完成事件
  20. poi解析不固定列excel

热门文章

  1. redis 数据删除策略
  2. PMBOK项目管理知识体系指南第七版管理模型介绍系列
  3. 自动图片生成在前端开发中的一些尝试
  4. Angular微前端
  5. 2022浙大CS考研
  6. UVA - 10288 Coupons(期望的性质)
  7. 基于SSH开发九洲世纪医院预约挂号平台
  8. ChatGPT 研究框架(PPT)
  9. 硅上量子点激光器报告最新进展总结(一)
  10. 如何分析关键字优化的难度?了解你的关键字竞争力