当前位置: 首页 > wzjs >正文

做阅读任务挣钱的网站男女做那个的网站

做阅读任务挣钱的网站,男女做那个的网站,万网网站模板,wordpress服务器带宽1 前言 之前使用Pyecharts库在Windows系统中生成图表并转换为PNG格式图片(传送门),现将代码放于Linux服务器上运行,结果发现错误,生成html文件之后无法保存图片。 2 原理 基于Selenium库的保存方案,其原…

1 前言

之前使用Pyecharts库在Windows系统中生成图表并转换为PNG格式图片(传送门),现将代码放于Linux服务器上运行,结果发现错误,生成html文件之后无法保存图片。

2 原理

基于Selenium库的保存方案,其原理是使用Chrome浏览器打开html文件,然后在进行截图

3 实现

3.1 环境准备

安装Chrome和Chrome Driver

1 安装 Chrome
yum install https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm

chromedriver 下载地址:
https://googlechromelabs.github.io/chrome-for-testing/ (推荐,包含最新稳定版)

这里需要下载和Chrome版本一致的Driver

# 下载 chromedriver
# 进入下载目录
cd /tmp# 查看chrome 版本号
google-chrome --version# 在chromedriver下载地址中找到对应版本,下载对应版本chromedriver
# 如
wget https://edgedl.me.gvt1.com/edgedl/chrome/chrome-for-testing/118.0.5993.70/linux64/chromedriver-linux64.zip# 解压
unzip chromedriver-linux64.zip # 赋权
cd chromedriver-linux64
mv chromedriver /usr/local/bin
cd /usr/local/bin
chmod +x chromedriver

3.2 代码

import os
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.chrome.options import Optionsdef split_filepath(filepath):"""此函数用于从文件路径中提取文件名(不含扩展名)。参数:filepath (str): 完整的文件路径返回:str: 文件名(不包含扩展名)"""# 获取目录路径和完整文件名(含扩展名)filename_with_ext = os.path.basename(filepath)# 分离文件名和扩展名filename, ext = os.path.splitext(filename_with_ext)return filenamedef save_as_png(html_file, img_file):"""该函数的作用是将指定的 HTML 文件在浏览器中打开并截图保存为 PNG 图片。参数:html_file (str): 要截图的 HTML 文件的完整路径img_file (str): 保存截图的 PNG 文件的完整路径返回:None"""# chrome-driver 安装路径DRIVER_PATH = "/usr/local/bin"# 浏览器基础配置options = Options()options.add_argument('--no-sandbox')options.add_argument('--headless')  # 无头参数options.add_argument('--disable-gpu')  # 禁用gpu 防止占用资源出现bugoptions.add_argument('window-size=1920x800')  # 设置分窗口辨率options.add_argument('--start-maximized')  # 最大化运行(全屏窗口),不设置,取元素可能会报错options.add_argument('--hide-scrollbars')s = Service(DRIVER_PATH)# 启动浏览器driver = webdriver.Chrome(service=s, options=options)# 设置隐式等待时间,在查找元素时最多等待 10 秒driver.implicitly_wait(10)try:# 调用 split_filepath 函数获取 HTML 文件的文件名(不含扩展名)img_name = split_filepath(html_file)# 打印开始截图的提示信息print("开始截图")# 在浏览器中访问指定的 HTML 文件driver.get(f"file://{html_file}")# 对当前页面进行截图并保存为指定的 PNG 文件driver.get_screenshot_as_file(img_file)# 打印完成截图的提示信息print("完成截图")except Exception as e:# 若截图过程中出现异常,打印异常信息print(e)finally:# 关闭当前浏览器窗口driver.close()# 退出浏览器驱动程序,释放资源driver.quit()

这里的重点是driver.get(f"file://{html_file}"),在需要打开的html文件路径前加上file://,否则driver会默认是url,导致超时错误。

3.3 字体

如果在html文件中存在中文的,需要保证Linux安装有中文字体

#查看已安装的字体
#查看已安装的字体
fc-list
#查看已安装的中文字体
fc-list :lang=zh#安装Linux字体程序
yum -y install fontconfig#安装中文字体
#查看服务器是否有:/usr/share/fonts这个目录,如果有,那么看下一步,如果没有,就创建
mkdir -p /usr/share/fonts#引入字体文件
#将准备好的字体放到/usr/share/fonts这个目录#安装字体索引
yum install mkfontscale#生成字体索引,在/usr/share/fonts这个目录执行下面的命令
mkfontscale#第三步验证安装结果
fc-list :lang=zh

4 参考链接
linux下安装 Chrome 和 chromedriver 以及 selenium webdriver 使用

如何给Linux系统安装中文字体

python中使用selenium打开保存在本地的html页面


文章转载自:

http://h46wB9WQ.xqkcs.cn
http://0nmsVVwg.xqkcs.cn
http://vLZ0LjnG.xqkcs.cn
http://gPY1hfoL.xqkcs.cn
http://b9YmoMWR.xqkcs.cn
http://QuGJSfWQ.xqkcs.cn
http://gmbuDwbU.xqkcs.cn
http://nPFYlrK5.xqkcs.cn
http://j3amcBdd.xqkcs.cn
http://SfIgLi6z.xqkcs.cn
http://lIcJQTul.xqkcs.cn
http://4QI7d8gA.xqkcs.cn
http://5Akg1Dj9.xqkcs.cn
http://OzBZ33xm.xqkcs.cn
http://zx4ZXva0.xqkcs.cn
http://MrsFfXYC.xqkcs.cn
http://yhuqM9Fd.xqkcs.cn
http://6VcaFmsb.xqkcs.cn
http://SPIpM0nM.xqkcs.cn
http://iQdfcZ2L.xqkcs.cn
http://M5bastcF.xqkcs.cn
http://f11khcT2.xqkcs.cn
http://nTHtM5my.xqkcs.cn
http://ffz4xBzu.xqkcs.cn
http://02MmQDij.xqkcs.cn
http://qZXDeeJl.xqkcs.cn
http://1ZWsznKc.xqkcs.cn
http://RrGdKd4W.xqkcs.cn
http://HgTPujfC.xqkcs.cn
http://RlUMtcFX.xqkcs.cn
http://www.dtcms.com/wzjs/746285.html

相关文章:

  • 北京国家建设部网站首页淄博百度电话
  • 津南区提供网站建设协议个人网站界面设计图片
  • 网站改版公司哪家好腾讯企点和企业qq区别
  • 章丘网站开发培训广州设计周官方网站
  • 济南网站建设公司哪个好网站服务器地址在哪里看
  • wordpress标签logoseo排名查询工具
  • 重庆网站建设维护网页代码用什么软件
  • 主播网站开发成都九度装饰设计有限公司
  • 中山网站建设文化教程四川创企科技有限责任公司
  • 护肤品网站建站模板网站框架怎么设计
  • 工程招聘网站wordpress招商
  • 做特卖的网站安阳企业网站建设
  • 河南生产型企业网站建设html5网站报价明细
  • 网站建站域名解析最后做选一个网站做seo
  • 郑州汉狮做网站网络公司网站定制功能
  • flash网站代码做百度推广多少钱
  • 怎样建设邮箱网站如何做自己的网站链接
  • 怎样查看网站开发语言世界最受欢迎的免费架站平台
  • 做房地产网站建设北京王府井
  • 课程网站资源建设小结dw网页设计图片链接
  • vs2105制作个人网站池州网站建设推广
  • 青龙建站网wordpress用户头像
  • 广州上市网站建设的公司物流公司简介模板
  • 合肥市城乡建设网站wordpress用php版本号
  • 网站着陆页怎么做工业产品设计包括哪些
  • 寻找徐州网站开发做网站用linux哪个版本
  • 网站建设黄页在线免费ip38域名信息查询网站
  • 网站后期维护协议wordpress有必要开放注册么
  • dede如何手机网站和电脑网站的数据同步更新苏州公司名称查询
  • wordpress自带文章类型培训机构优化