您的位置:首页 > 编程语言 > Python开发

mac使用python实现网页截图

2016-10-21 20:43 896 查看
看了一天的python网页截图

就是根据网址,来对这个网站进行一个截图。当然其他的处理也差不多意思

首先mac自带了python,我用的是eclipse配上pydev,

我没用过python自己的编辑器,所以没有发言权,但是使用pydev很多包都没有,import进来的包都报错。蜜汁尴尬

我选择了使用Selenium来实现截图,那么我们还需要一个接入网站的浏览器驱动工具,

我选择了chromedriver和PhantomJS

首先要安装Selenium,通过在终端中sudo easy_install Selenium来进行安装Selenium

安装好Selenium之后,再下载一个chromedriver,下载地址

http://chromedriver.storage.googleapis.com/index.html

这里面有很多版本,对应自己的chrome版本来选择,我的chrome是53.0

最新chromedriver也没有这个版本,我就下了一个最新的版本。居然能用。

把chromedriver放到你的项目中,就可以进行使用。

好像不行!是在代码中指明了他的路径

代码稍后放

第二种是PhantomJS,安装好Selenium之后,再下载一个PhantomJS,

在环境变量中配置环境变量,即vi .bash_profile来加入这一句

export PATH="$PATH:/Users/zhaowei/Downloads/package/phantomjs-2.1.1-macosx/bin/"
然后基本上就可以用了(查的有点多。。好像记不清了)

如果加入环境变量么有用,那就把PhantomJS放入项目中,就像chromedriver一样

好像不行!是在代码中指明了他的路径

测试代码如下:

#!/usr/bin/env python
from selenium import webdriver
import time

drivers = ['PhantomJS']
dervers_time = {
'PhantomJS' : 0,
}
times = 5
# def run_with_Chrome():
#     common_step(webdriver.Chrome(executable_path='/Users/zhaowei/Downloads/chromedriver'))
def run_with_Phant
b039
omJS():
common_step(webdriver.PhantomJS(executable_path=r'/Users/zhaowei/Downloads/package/phantomjs-2.1.1-macosx/bin/phantomjs'))
def common_step(driver):
driver.get('http://www.baidu.com')
driver.save_screenshot('screenshot.png')
ele = driver.find_element_by_id('su')
print 'nihao'
print ele.get_attribute('value')
driver.quit()
for i in range(times):
print '=============Times %s============' % i
for driver in drivers:
start = time.time()
print start
eval('run_with_%s()'%driver)
end = time.time()
print end
elapse_time = end-start
dervers_time[driver] += elapse_time
print 'elapse for %s:%s' % (driver, elapse_time)
#         print 'nihao'

for k,v in dervers_time.items():
print 'avg elapse for %s in %s times:%s' % (k, times, v/times)
上面这段程序,有两种方式的测试方法。不光有截图,还有取值,也算是一个小爬虫吧
值得一提的是后一种方法更快一点。当然还有别的浏览器驱动,我只实验了这两种
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: