环境安装

  1. pip install requests
  2. pip install beautifulsoup4
  3. pip install pdfkit
  4. $ sudo apt-get install wkhtmltopdf # ubuntu
  5. $ sudo yum intsall wkhtmltopdf # centos

脚本

  1. #!/usr/bin/env python3.5
  2. # -*- coding: utf-8 -*-
  3. # @Time : 2019/11/18 下午10:48
  4. # @Author : yon
  5. # @Email : xxx@qq.com
  6. # @File : day1.py.py
  7. import os
  8. import re
  9. import time
  10. import logging
  11. import pdfkit
  12. from bs4 import BeautifulSoup
  13. import requests
  14. headers = {
  15. # 'Accept': 'application/json, text/javascript, */*; q=0.01',
  16. # 'Accept': '*/*',
  17. # 'Accept-Language': 'zh-CN,zh;q=0.9,en;q=0.8,en-US;q=0.7',
  18. # 'Cache-Control': 'no-cache',
  19. # 'accept-encoding': 'gzip, deflate, br',
  20. 'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.97 Safari/537.36',
  21. 'Referer': 'https://www.google.com/'
  22. }
  23. options= {
  24. 'page-size': 'Letter',
  25. 'encoding': "UTF-8",
  26. 'custom-header': [
  27. ('Accept-Encoding', 'gzip')
  28. ]
  29. }
  30. resp = requests.get('https://www.thisamericanlife.org/687/transcript', headers=headers)
  31. soup = BeautifulSoup(resp.content, "html.parser")
  32. body = soup.find("article")
  33. all1 = str(body)
  34. pdfkit.from_string(all1, "/home/yon/Desktop/tt.pdf")

另外一种写法

  1. import os
  2. import re
  3. import time
  4. import logging
  5. import requests
  6. import urllib.request
  7. import os
  8. import stat
  9. import pdfkit
  10. from bs4 import BeautifulSoup
  11. # headers = {
  12. # # 'Accept': 'application/json, text/javascript, */*; q=0.01',
  13. # 'Accept': '*/*',
  14. # 'Accept-Language': 'zh-CN,zh;q=0.9,en;q=0.8,en-US;q=0.7',
  15. # 'Cache-Control': 'no-cache',
  16. # 'accept-encoding': 'gzip, deflate, br',
  17. # 'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.97 Safari/537.36',
  18. # 'Referer': 'https://www.google.com/'
  19. # }
  20. #
  21. #
  22. # resp = requests.get('https://www.thisamericanlife.org/687/transcript', headers=headers)
  23. #
  24. # html = resp.content
  25. # with open("thisaericanlife.html", 'wb') as f:
  26. # f.write(html)
  27. soup = BeautifulSoup(open("thisaericanlife.html"), "html.parser")
  28. print(soup.article.contents)
  29. print("类型")
  30. html = ""
  31. for x in soup.article.contents:
  32. # print(str(x))
  33. html += str(x)
  34. print(html)
  35. # html = BeautifulSoup(soup.article.contents)
  36. #print(type(html))
  37. # print(html)
  38. pdfkit.from_string(html, "/home/baixiaoxu/desk/tt.pdf")

python- www.thisamericanlife.org转pdf的更多相关文章

  1. Python将html转化为pdf

    前言 前面我们对博客园的文章进行了爬取,结果比较令人满意,可以一下子下载某个博主的所有文章了.但是,我们获取的只有文章中的文本内容,并且是没有排版的,看起来也比较费劲... 咋么办的?一个比较好的方法 ...

  2. python网络爬虫高清PDF资料分享

    1.python+网络爬虫开发实战中文PDF高清版 链接:https://pan.baidu.com/s/1bks8J9kgqCArUlEoDg4acA 提取码:h9y2 复制这段内容后打开百度网盘手 ...

  3. 《Python生物信息学数据管理》中文PDF+英文PDF+代码

    生物信息学经典资料,解决生物学问题,通过"编程技法"的形式,涵盖尽可能多的组织.分析.表现结果的策略.在每章结尾都会有为生物研究者设计的编程题目,适合教学和自学.由六部分组成:Py ...

  4. 统计学习:《贝叶斯思维统计建模的Python学习法》中文PDF+英文PDF+代码

    用数学工具解决实际问题仅有的要求可能就是懂一点概率知识和程序设计.而贝叶斯方法是一种常见的利用概率学知识去解决不确定性问题的数学方法,对于一个计算机专业的人士,应当熟悉其应用在诸如机器翻译,语音识别, ...

  5. 学习NLP:《精通Python自然语言处理》中文PDF+英文PDF+代码

    自然语言处理是计算语言学和人工智能之中与人机交互相关的领域之一. 推荐学习自然语言处理的一本综合学习指南<精通Python自然语言处理>,介绍了如何用Python实现各种NLP任务,以帮助 ...

  6. 学习推荐《Python神经网络编程》中文版PDF+英文版PDF+源代码

    推荐非常适合入门神经网络编程的一本书<Python神经网络编程>,主要是三部分: 介绍神经网络的基本原理和知识:用Python写一个神经网络训练识别手写数字:对识别手写数字的程序的一些优化 ...

  7. 学习《Python金融实战》中文版PDF+英文版PDF+源代码

    学习python处理金融数据,建议学习<Python金融实战>,比较实用,只不过Yahoo财经的API改了,书里的方法不再有效要改一改,还有就是会有一些代码缩进小问题,总体上对金融分析很实 ...

  8. Python性能分析与优化PDF高清完整版免费下载|百度云盘

    百度云盘|Python性能分析与优化PDF高清完整版免费下载 提取码:ubjt 内容简介 全面掌握Python代码性能分析和优化方法,消除性能瓶颈,迅速改善程序性能! 对于Python程序员来说,仅仅 ...

  9. 用python DIY一个图片转pdf工具并打包成exe

    最近因为想要看漫画,无奈下载的漫画是jpg的格式,网上的转换器还没一个好用的,于是乎就打算用python自己DIY一下: 这里主要用了reportlab.开始打算随便写几行,结果为若干坑纠结了挺久,于 ...

  10. 使用Python将HTML转成PDF

    主要使用的是wkhtmltopdf的Python封装--pdfkit 安装 1. Install python-pdfkit: $ pip install pdfkit 2. Install wkht ...

随机推荐

  1. 【LOJ】#3093. 「BJOI2019」光线

    LOJ#3093. 「BJOI2019」光线 从下到上把两面镜子合成一个 新的镜子是\((\frac{a_{i}a_{i + 1}}{1 - b_{i}b_{i + 1}},b_{i} + \frac ...

  2. k-means算法处理聚类标签不足的异常

    k-means算法在人群聚类场景中,是一个非常实用的工具.(该算法的原理可以参考K-Means算法的Python实现) 常见调用方式 该算法常规的调用方式如下: # 从sklearn引包 from s ...

  3. 手把手教你搭建FastDFS集群(上)

    手把手教你搭建FastDFS集群(上) 本文链接:https://blog.csdn.net/u012453843/article/details/68957209        FastDFS是一个 ...

  4. $.ajax通用格式&&XMLHttpRequest对象属性和方法

    $.ajax({ url: "", type: "POST", async: false, cache:false, //默认true data: {}, da ...

  5. web登录的session、cookie和token

    为什么会有登录这回事 首先这是因为HTTP是无状态的协议,所谓无状态就是在两次请求之间服务器并不会保存任何的数据,相当于你和一个人说一句话之后他就把你忘掉了.所以,登录就是用某种方法让服务器在多次请求 ...

  6. ASE第二次结对编程——Code Search

    复现极限模型 codenn 原理 其原理大致是将代码特征映射到一个向量,再将描述文字也映射到一个向量,将其cos距离作为loss训练. 对于代码特征,原论文提取了函数名.调用API序列和token集: ...

  7. linux重装docker-compose后无法执行docker-compose命令

    背景 使用自动化脚本重装docker和docker-compose(但脚本中未对旧版本的docker-compose进行任何处理,比如卸载删除) 导致执行docker-compose命令时报了错,大多 ...

  8. 经典i++和++i问题(附带运算符优先级问题)

    转自 https://blog.csdn.net/mustard1020/article/details/79617865 1.i++和++i的区别     (1)i++简单来说就是先用i的值来参加表 ...

  9. ubuntu install opencv

    1. install the newest opencv version pip install opencv-python

  10. yolo模型的特点与各版本性能对比

    目录 一.YOLOV1 二.YOLOV2 二.YOLOV3 正文 目前,基于深度学习的目标检测算法大致可以分为两大流派: 1.两阶段(two-stage)算法:先产生候选区域然后再进行CNN分类(RC ...