由于本人才粗学浅,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作者
色彩提取
华为镜像源: 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
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
yum -y groupinstall "X Window System"
yum -y groupinstall chinese-support
yum -y groupinstall Fonts
解决Chrome中文方块乱码原文地址: https://www.cnblogs.com/vekair/p/15878518.html
# 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 Options
CHROME_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
https://blog.csdn.net/Jhing99/article/details/128864137