当前位置:   article > 正文

python将网页转换为图片保存_python将网页保存为图片

python将网页保存为图片

前言:我们可能会遇到将html网页转为图片,介绍我遇到的两种不同情况下的方式。
环境:python中的selenium
1.网站中的网页转换为图片:
思路:使用selenium的PhantomJS将网页转换为图片。

#-*- coding=utf-8 -*-
#@Time : 2020/8/7 10:08 PM
#@Author : 小邋遢
#@File : tset.py
#@Software : PyCharm

from selenium import webdriver  # 从selenium库导入webdirver
#截取网页照片函数
def screen_shot(url,png_name):
    # 使用webdirver.PhantomJS()方法新建一个phantomjs的对象,这里会使用到phantomjs.exe,环境变量path中找不到phantomjs.exe,则会报错
    brower = webdriver.PhantomJS()
    # 使用get()方法,打开指定页面。注意这里是phantomjs是无界面的,所以不会有任何页面显示
    brower.get(url)
    # 设置phantomjs浏览器全屏显示
    brower.maximize_window()
    # 使用save_screenshot将浏览器正文部分截图,即使正文本分无法一页显示完全,save_screenshot也可以完全截图
    brower.save_screenshot(png_name)
    # 关闭phantomjs浏览器,不要忽略了这一步,否则你会在任务浏览器中发现许多任务
    brower.close()
if __name__ == '__main__':
    url ="https://news.163.com/20/0807/19/FJEUBJJU0001899O.html"
    screen_shot(url,'1.png')
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22

效果如下:
在这里插入图片描述

2.将本地的文件夹下的html文件保存为图片。

#-*- coding=utf-8 -*-
#@Time : 2020/8/7 7:55 PM
#@Author : 小邋遢
#@File : get_image.py
#@Software : PyCharm

"""
将html页面转换为图片
"""
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
import os
chrome_options = Options()
chrome_options.add_argument('--headless')
chrome_options.add_argument('--disable-gpu')
chrome_options.add_argument('--start-maximized')
path = os.getcwd()
filename = path + "/data/train/article/img/"


for i in range(60):
    url = "file://(你的路径,如/user,记住这里是三个/)" + "{}".format(i+1) +".html"
    print(url)
    driver = webdriver.Chrome(options=chrome_options)
    driver.get(url)
    # 将该页面的展开到最大
    width = driver.execute_script("return Math.max(document.body.scrollWidth,document.body.offsetWidth, document.documentElement.clientWidth, document.documentElement.scrollWidth, document.documentElement.offsetWidth);")
    height = driver.execute_script("return Math.max(document.body.scrollHeight, document.body.offsetHeight,document.documentElement.clientHeight, document.documentElement.scrollHeight, document.documentElement.offsetHeight);")
    driver.set_window_size(width,height)
    
    driver.save_screenshot(os.path.join(filename,str(i+1)+'.png'))
    driver.close()

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33

结果如下图:
在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/197115
推荐阅读
相关标签
  

闽ICP备14008679号