使用webdriver + phantomjs + pdfkit 生成PDF文件
实例
#!/usr/bin/python
# -*- coding: utf-8 -*- '''
Created on Dec 6, 2013 @author: Jay <smile665@gmail.com>
@description: use PhantomJS to parse a web page to get the geo info of an IP
'''
import datetime
import urllib
# from pyquery import PyQuery as pq
import pdfkit from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait # available since 2.4.0
from selenium.webdriver.support import expected_conditions as EC # available since
import time #import db
#from db import exec_sql, fetchone_sql, fetchall_sql import sys
reload(sys)
sys.setdefaultencoding('utf-8') def spider_question(url):
"""
功能说明:根据URL生成PDF
"""
browser = webdriver.PhantomJS(executable_path='./phantomjs') # 这要可能需要制定phatomjs可执行文件的位置
# browser.set_window_size(1024, 786)
print 'start request url', datetime.datetime.now()
browser.get(url) # Load page
print 'end request url', datetime.datetime.now()
try:
WebDriverWait(browser, 60).until(EC.title_contains("complete")) # 查找数据,500毫秒查找一次,找到则继续执行下面代码,超过10秒抛出异常
except Exception, e:
print "http 500"
print e
browser.quit()
return "response_500"
print "end math load:", datetime.datetime.now()
html = browser.find_element_by_tag_name("html").get_attribute("innerHTML")
browser.quit()
html = '<!DOCTYPE html><html>' + html + "</html>" print 'begin pdfkit:', datetime.datetime.now()
pdf_name = "test2.pdf"
pdfkit.from_string(html, pdf_name)
print "end pdfkit", datetime.datetime.now() return html def main():
#url = "http://192.168.0.126/tea/test/wrongset/download/question/?day_list=20151103&user_id=849127&js=1"
url = "http://192.168.0.126/open/math2_preview/?js=1&engine=webkit2&css=0"
now = datetime.datetime.now()
spider_question(url)
now2 = datetime.datetime.now()
print(now2-now)
# pdfkit.from_string("hello", 'test.pdf') if __name__ == "__main__":
main()
print "completed"
使用webdriver + phantomjs + pdfkit 生成PDF文件的更多相关文章
- java调用wkhtmltopdf生成pdf文件,美观,省事
最近项目需要导出企业风险报告,文件格式为pdf,于是搜了一大批文章都是什么Jasper Report,iText ,flying sauser ,都尝试了一遍,感觉不是我想要的效果, 需要自己调整好多 ...
- Itext生成pdf文件
来源:https://my.oschina.net/lujianing/blog/894365 1.背景 在某些业务场景中,需要提供相关的电子凭证,比如网银/支付宝中转账的电子回单,签约的电子合同等. ...
- linux下编译bib、tex生成pdf文件
实验: 在linux环境下,编译(英文)*.bib和*.tex文件,生成pdf文件. 环境: fedora 20(uname -a : Linux localhost.localdomain 3.19 ...
- ThinkPHP3.2.3扩展之生成PDF文件(MPDF)
目前是PHP生成PDF文件最好的插件了,今天介绍下在ThinkPHP3.2.3里如何使用. 先安照路径放好如图. 下面是使用方法 public function pdf(){ //引入类库 Vendo ...
- [轉載]史上最强php生成pdf文件,html转pdf文件方法
之前有个客户需要把一些html页面生成pdf文件,然后我就找一些用php把html页面围成pdf文件的类.方法是可谓是找了很多很多,什么html2pdf,pdflib,FPDF这些都试过了,但是都没有 ...
- asp.net生成PDF文件 (1)
asp.net生成PDF文件 (1) 这个是例子是网上淘来的,哈哈,很有用的! 首先要到网上下载itextsharp.dll,然后添加引用,主程序如下: 1 2 3 4 5 6 7 8 9 10 11 ...
- 怎么用PHP在HTML中生成PDF文件
原文:Generate PDF from html using PHP 译文:使用PHP在html中生成PDF 译者:dwqs 利用PHP编码生成PDF文件是一个非常耗时的工作.在早期,开发者使用PH ...
- JAVA生成PDF文件
生成PDF文件是主要应用的是ITEXT插件 import java.awt.Color; import java.io.File; import java.io.FileOutputStream; i ...
- .NET生成PDF文件
C#未借助第三方组件,自己封装通用类,生成PDF文件. 调用方式: //路径 string path = @"C:\yuannwu22.pdf"; //内容 string strC ...
随机推荐
- p235习题3
- Merge和Rebase在Git中的区别
git命令Merge和Rebase的区别 git merge 会生成一个新得合并节点,而rebase不会 比如: D---E test / A---B---C---F master 使用merge合并 ...
- 经典创意slogan大全
一句好的广告语,能强烈的激发人的感情,产生心理认同感.对于广告人来说,无论走到哪里,最敏感的就是广告语.一句广告语,可能只有短短几个字或一两句话,却是一个品牌的精华所在.能不能第一时间吸引受众眼球,抓 ...
- 修改stb_image.c以让Duilib直接支持Ico格式的图标显示
duilib不支持ico格式的图标资源, 但是我要想显示ico格式的图标... 发现网上那些转换ico为bmp或其它格式的都不是一个好办法, 也还是不能让duilib直接显示ico... 昨晚稍微研究 ...
- jQuery+PHP实现浏览更多内容
Ajax加载的基本原理:当页面载入时,jQuery向后台请求数据,PHP通过查询数据库将最新的几条记录显示在列表页,在列表页的底部有个“查看更多”的链接,通过触发该链接,向服务端发送Ajax请求,后台 ...
- 从源码编译Chrome(chromium)
转自:http://www.udpwork.com/item/13827.html 官网描述 http://www.chromium.org/developers/how-tos/build-inst ...
- 查看APP用到的图片方法
把APP对应的APK文件下载到电脑上,然后把扩展名修改为zip,然后进行解压,就可以看了.
- C++primer学习笔记(三)——Chapter 5
5.1 Simple Statements 1.记得每个语句后面加上”;”不过现在编译器都有实时编译,一般都不会忘记的, 2.空语句 (1)就是啥都没有.只有一个“:” (2)还是有很多用处的,例 ...
- FireBug使用总结
FireBug是一个用于网站前端的开发工具,它是Firefox浏览器的一个拓展插件,它可以调试JavaScript.查看DOM.分析CSS.监控网络流量以及进行Ajax交互等.提供了几乎前端开发需要的 ...
- HDU 5025 (BFS+记忆化状压搜索)
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=5025 题目大意: 迷宫中孙悟空救唐僧,可以走回头路.必须收集完钥匙,且必须按顺序收集.迷宫中还有蛇, ...