Python学习——爬虫之pdfkit用法

1、pdfkit模块用途

2、pdfkit用法
简单讲,可以有以下三种用法,第一个参数为将要转化的html链接(文件,或字符串),第二个参数为保存在本地的pdf文档名称。

import pdfkit 

pdfkit.from_url('https://www.google.com.hk','out1.pdf')    
pdfkit.from_file('123.html','out2.pdf')   
pdfkit.from_string('Hello!','out3.pdf')

3、实例

import requests
from bs4 import BeautifulSoup
import pdfkit

html_template = """
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
</head>
<body>
{content}
</body>
</html>
"""

res = requests.get('http://news.sina.com.cn/c/nd/2017-09-09/doc-ifykusey6584342.shtml')
soup = BeautifulSoup(res.content,'html.parser')
article = soup.select('.article.article_16')[0]
article = str(article)
html = html_template.format(content = article)
html = html.encode('utf-8')

with open('news_china.html','wb') as f:
    f.write(html)

pdfkit.from_file('news_china.html','news.pdf')
print('succeed')

需要注意以下几点:

  • 我们获取的只是html中的正文部分,而要得到一个完整的html文档,还需要html_template部分。并用.format()形式加入。

  • 第18行中,res.content 得到字节方式的响应体。如果改成res.text得到的是字符串方式的响应体。关于requests的用法,详见:第三方库requests详解

  • 打开文档的格式为’wb’,需要以二进制格式写入html文档。

  • 20行,需要将tag格式的aritcle转化成str格式的,才能用.format()方法
  • 22行,需要将str格式的html转化成字节形式的,才能以wb方式写入文件中。
  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值