原创:用python把链接指向的网页直接生成图片的http服务及网站(含源码及思想)

本文介绍如何使用Python创建一个HTTP服务,该服务将URL指向的网页转换为图片。内容涉及Python、WebDriver、Web Server和CGI技术,提供源码和思路。
摘要由CSDN通过智能技术生成

原创:用python把链接指向的网页直接生成图片的http服务及网站(含源码及思想)


总体思想:
    希望让调用方通过 http调用传入一个需要生成图片的网页链接生成一个网页的图片并返回图片链接
    最终调用方式比如:http://127.0.0.1:8888/cgi-bin/test.py?url=http://www.csdn.net/
    上述范例打开之后返回的是 http://www.csdn.net/ 这个网页最终生成的图片的链接
    这么做的目的就是让调用的人几乎不用动脑,当然实现这个的人也会觉得牛逼哄哄:)


    要实现上述这个思想,分解一下就需要实现以下功能:
    1、需要做一个网站
    2、这个网站还需要能执行 python的脚本也就是说要具备cgi处理功能
    3、需要一个代码能对给定的网址保存为图片
    4、我们需要一款简单又可靠的又能执行python脚本的web server


    通过google.com经过一番对python的简单了解之后我们发现上述四个目标其实都非常简单:
    1、python自带了一个cgi web server启动方式非常之简单,基本上只需要小学文化:
       在linux终端或这windows的dos窗口运行: python -m CGIHTTPServer 8888
       就实现了目标1和目标2
    2、测试一下我们的这个web server究竟管用不管用
       在当前目录下建立一个index.html 输入it works!
       好了在浏览器中输入:http://127.0.0.1:8888/index.html 
       看到了吧,就这么简单,仅需小学文化水平:)
    3、建立一个简单的python脚本程序,让浏览器能够打开,同时也能接收一个url参数
       比如:http://127.0.0.1:8888/cgi-bin/pycgidemo.py?url=http://www.csdn.net/
       在当前目录下建立一个目录cgi-bin 然后在里面建立一个文本文件:pycgidemo.py 输入:
       #!/usr/bin/env python
       =======================================pycgidemo.py====begin========================
# -*- coding: utf-8 -*-


import os
import io
import time
import JSInjection
from PIL import Image
from selenium import webdriver
import html2image
import uuid


if __name__ == '__main__':
   v = [i for i in os.environ.iteritems()]
   print('env is %s' %(repr(v)))
   qs={k:v for k,v in [l.split('=') for l in os.environ['QUERY_STRING'].split('&')]}
   print('Content-type: text/html\n')
   print('<title>pycgidemo</title>')
   print('Hello World<br/>')
   print(qs['url'])


   quit()
        =======================================pycgidemo.py====end============&#
  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值