我们有一个产品牵扯到核查数据,在核查数据过程中会发现有一些违规网站,这一些违规网站我们要进行截图保留证据。如果是人工截图就非常麻烦,需要截图之后上传到系统,增加了大家的工作量,我们就想着试着程序自动化截图
由于我们爬虫都使用的python selenium 调用的chrome无头浏览器,所以我们依然选择了selenium调用chrome进行截图。截图核心代码如下,非常简单
- ###核心代码如下
- driver.get( url )
-
- #初始化一个屏幕大小
- driver.set_window_size(1400, 900)
-
- ##通过脚本获取页面宽和高,设置窗口大小
- width = driver.execute_script("return document.documentElement.scrollWidth")
- height = driver.execute_script("return document.documentElement.scrollHeight")
- driver.set_window_size(width, height)
- time.sleep(2)
- ##保存截图
- driver.save_screenshot( file_path )
上面截图之后发现有一些小的瑕疵,就是只有图片也不知道网址和截图时间,所以我们要对图片进行打水印,水印代码如下
- ##在图片上写字也就是打水印
-
- img = Image.open(file_path)
- # add watermark
- font_path = app.config.get('FONT_PATH') + "/SIMHEI.TTF"
- font = ImageFont.truetype(font_path, 32)
- # 添加画板
- drawing = ImageDraw.Draw( img )
- ##红色字体
- color = (0,0,255)
- drawing.text( (5, 5), DateHelper.getCurrentTime() , fill= color , font=font)
- drawing.text( (5, 30), url , fill= color , font=font)
- ##单独保存一个新图片
- img.save( watermark_file_path )
不错
回复 @ apanly: 非常不错