环境安装

pip install  requests
pip install beautifulsoup4
pip install pdfkit $ sudo apt-get install wkhtmltopdf # ubuntu
$ sudo yum intsall wkhtmltopdf # centos

脚本

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

另外一种写法

import os
import re
import time
import logging
import requests
import urllib.request
import os
import stat
import pdfkit
from bs4 import BeautifulSoup # headers = {
# # 'Accept': 'application/json, text/javascript, */*; q=0.01',
# 'Accept': '*/*',
# 'Accept-Language': 'zh-CN,zh;q=0.9,en;q=0.8,en-US;q=0.7',
# 'Cache-Control': 'no-cache',
# 'accept-encoding': 'gzip, deflate, br',
# 'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.97 Safari/537.36',
# 'Referer': 'https://www.google.com/'
# }
#
#
# resp = requests.get('https://www.thisamericanlife.org/687/transcript', headers=headers)
#
# html = resp.content
# with open("thisaericanlife.html", 'wb') as f:
# f.write(html) soup = BeautifulSoup(open("thisaericanlife.html"), "html.parser")
print(soup.article.contents)
print("类型") html = ""
for x in soup.article.contents:
# print(str(x))
html += str(x) print(html) # html = BeautifulSoup(soup.article.contents)
#print(type(html))
# print(html)
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. ARTS 第一周打卡

    Algorithm : 做一个 leetcode 的算法题 1.只出现一次的数字 给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次.找出那个只出现了一次的元素. 说明: 你的算 ...

  2. git链接远程库

    码云版本库使用流程 生成公钥 ssh-keygen -t rsa -c "码云申请邮箱" 添加公钥到本地 ssh-agent bash ssh-add ~/.ssh/id_rsa ...

  3. django ajax MTV与MVC 多对多创建方式

    MTV与MVC MTV模型(django): M:模型层(models.py) T:templates V:views MVC模型: M:模型层(models.py) V:视图层(views.py) ...

  4. 201709-3 JSON查询

    问题描述 JSON (JavaScript Object Notation) 是一种轻量级的数据交换格式,可以用来描述半结构化的数据.JSON 格式中的基本单元是值 (value),出于简化的目的本题 ...

  5. charles 抓包 (二)

    本文基于charles 抓包 https (1)中的配置完成. 1.移动设备上的网络请求 打开要调试的APP,请求就会先发送到Charles,然后验证是否允许访问. 当点击允许后,可以在Proxy - ...

  6. C# Reflection exception Method not found

    C# Reflection exception Method not found Ok I figured it out. The server has Microsft .NET 4.0 insta ...

  7. Linux服务器不关机新增硬盘的方法

    在开机状态下,插入磁盘之后,执行如下命令: ls /sys/class/scsi_host/host0 host1 host2 echo "- - -" > /sys/cla ...

  8. HTTP缓存总结

    在具体了解 HTTP 缓存之前先来明确几个术语:1.缓存命中率:从缓存中得到数据的请求数与所有请求数的比率.理想状态是越高越好.2.过期内容:超过设置的有效时间,被标记为“陈旧”的内容.通常过期内容不 ...

  9. 如何为 esp32 编译和配置及烧写 MicroPython 固件。

    MicroPython 在 esp-idf (esp32) 上编译固件 esp32 编译 micropython 的固件相关的资料应该很多吧,我也会出一篇,但会额外讲一些 linux 的东西的. 资料 ...

  10. chrome input 输入框去掉黄色

    -webkit-box-shadow: 0 0 0px 1000px white inset input设置内置阴影,要比你的input本身大