Python案例——采集专栏文章保存成pdf

这篇具有很好参考价值的文章主要介绍了Python案例——采集专栏文章保存成pdf。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

嗨喽,大家好呀~这里是爱看美女的茜茜呐

Python案例——采集专栏文章保存成pdf

环境使用:

  • python 3.8 >>>>>> 运行代码

  • pycharm 2022.3 >>>>>> 辅助敲代码

  • wkhtmltopdf 软件 找助理邀课老师获取

模块使用:

内置模块

  • re >>>正则表达式

第三方模块 需要安装

  • requests >>> pip install requests 数据请求

  • parsel >>> pip install parsel 数据解析

  • pdfkit >>> pip install pdfkit

安装方法:

win + R 输入cmd 输入安装命令 pip install 模块名

(如果你觉得安装速度比较慢, 你可以切换国内镜像源)


👇 👇 👇 更多精彩机密、教程,尽在下方,赶紧点击了解吧~

素材、视频教程、完整代码、插件安装教程我都准备好了,直接在文末名片自取就可


Python案例——采集专栏文章保存成pdf

代码实现步骤:

  1. 发送请求, 模拟浏览器对于url地址发送请求

  2. 获取数据, 获取网页源代码

  3. 解析数据, 提取文章内容

  4. 保存数据, 保存成html文件, 然后再转成PDF文件

代码展示

import requests
import parsel
# 导入正则
import re
# 导入pdf模块
import pdfkit

“”"

  1. 发送请求, 模拟浏览器对于url地址发送请求

“”"

for page in range(10 ,51, 10):
    link = f'https://*****/api/v4/columns/c_1090924073042837504/items?limit=10&offset={page}'
    # 模拟浏览器 --> headers 请求头 <可以直接复制>
    headers = {
        # User-Agent 用户代理, 表示浏览器基本身份信息
        完整源码、解答、教程皆+VX:pytho8987获取,验证备注“777'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36'
    }
    json_data = requests.get(url=link, headers=headers).json()
    for index in json_data['data']:
        content_id = index['id']
        print(content_id)

请求链接

        url = f'https://*****/p/{content_id}'

发送请求

调用requests模块里面get请求方法, 对于url地址发送请求, 并且携带上headers请求头伪装, 最后用自定义变量名response接收数据

        response = requests.get(url=url, headers=headers)

<Response [200]> 响应对象 200状态码表示请求成功

“”"

  1. 获取数据, 获取网页源代码

    response.text 获取响应文本数据 <html字符串数据>

  2. 解析数据, 提取文章内容

    • 提取文章标题

    • 提取文章内容

    css选择器提取数据内容:

    根据标签属性提取数据内容

“”"

把获取到html字符串数据, 转成可解析对象

        selector = parsel.Selector(response.text)

提取标题

        title = selector.css('.Post-Title::text').get()
        new_title = re.sub(r'[\\/\:*?"<>|]', '', title)
        print(new_title)

提取内容 <html格式>

        content = selector.css('div.css-1g0fqss').get()

前端模板

        html_str ='''
        <!doctype html>
        <html lang="en">
        <head>
            <meta charset="UTF-8">
            <title>Document</title>
        </head>
        <body>
        {article}
        </body>
        </html>
        '''

字符串格式化方法

        html = html_str.format(article=content)

使用正则提取链接地址

        img_url_list = re.findall('<noscript><img src="(.*?)" data-caption=""', content) # 链接
        完整源码、解答、教程皆+VX:pytho8987获取,验证备注“777”
        img_list = re.findall('</noscript><img src="(.*?)" data-caption=""', content) # 需要被替换的内容
        for img_url, img in zip(img_url_list, img_list):
            html = html.replace(img, img_url)

“”"

  1. 保存数据, 保存成html文件, 然后再转成PDF文件

“”"
设置文件路径以及文件名和格式

        html_path = 'html\\' + new_title + '.html'
        with open(html_path, mode='w', encoding='utf-8') as f:
            f.write(html)

把html文件, 转成PDF

        config = pdfkit.configuration(wkhtmltopdf=r'D:\demo\wkhtmltopdf\bin\wkhtmltopdf.exe')
        pdf_path = 'pdf\\' + new_title + '.pdf'

把那个html文件内容, 转成pdf文件

        pdfkit.from_file(html_path, pdf_path, configuration=config)
        print(title)

尾语

感谢你观看我的文章呐~本次航班到这里就结束啦 🛬

希望本篇文章有对你带来帮助 🎉,有学习到一点知识~

躲起来的星星🍥也在努力发光,你也要努力加油(让我们一起努力叭)。

Python案例——采集专栏文章保存成pdf

最后,宣传一下呀~👇👇👇更多源码、资料、素材、解答、交流皆点击下方名片获取呀👇👇文章来源地址https://www.toymoban.com/news/detail-495445.html

到了这里,关于Python案例——采集专栏文章保存成pdf的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Redis 专栏、JVM 专栏、RocketMQ 专栏、ZooKeeper 专栏文章导读

    欢迎关注公众号(通过文章导读关注:【11来了】),及时收到 AI 前沿项目工具及新技术 的推送 发送 资料 可领取 深入理解 Redis 系列文章结合电商场景讲解 Redis 使用场景 、 中间件系列笔记 和 编程高频电子书 ! 文章导读地址:点击查看文章导读! 感谢你的关注! 下边这

    2024年02月02日
    浏览(40)
  • 专栏文章列表

    1.1 语言基础 C++中的static和extern 异常处理 将成员函数作为函数形参 自增和自减运算符的重载 C++中sort对类对象进行排序 c++的lambda表达式 1.2 进阶 智能指针 默认构造函数和拷贝构造函数的构造操作 list中的sort()函数 1.3 其他 lua如何调用C/C++ 教你三步搞定VsCode调试C++ 2.1

    2024年02月07日
    浏览(42)
  • 【网络安全 -> 防御与保护】专栏文章索引

    为了方便 快速定位 和 便于文章间的相互引用等 作为一个快速准确的导航工具 网络安全——防御与保护 (一).信息安全概述 (二).防火墙组网

    2024年01月23日
    浏览(40)
  • 【Stable Diffusion】专栏介绍和文章索引(持续更新中)

    最近开始学习AIGC,对Stable Diffusion比较感兴趣,所以新建了这个专栏,来记录自己在使用和学习Stable Diffusion的一些方法、资料以及实验过程,也和大家一起分享这些经验和心得体会,一起学习进步。 专栏地址:Stable Diffusion 本专栏会分以下几部分介绍。 入门:主要是介绍SD的

    2024年04月11日
    浏览(42)
  • Python数据分析案例33——新闻文本主题多分类(Transformer, 组合模型) 模型保存

    对于海量的新闻,我们可能需要进行文本的分类。模型构建很重要,现在对于自然语言处理基本都是神经网络的方法了。 本次这里正好有一组质量特别高的新闻数据,涉及  \\\'教育\\\' \\\'科技\\\' \\\'社会\\\' \\\'时政\\\' \\\'财经\\\' \\\'房产\\\' \\\'家居\\\'  七大主题,基本涵盖了所有的常见的新闻类型。每个

    2024年01月17日
    浏览(46)
  • Python爬虫案例解析:五个实用案例及代码示例(学习爬虫看这一篇文章就够了)

    导言: Python爬虫是一种强大的工具,可以帮助我们从网页中抓取数据,并进行各种处理和分析。在本篇博客中,我们将介绍五个实用的Python爬虫案例,并提供相应的代码示例和解析。通过这些案例,读者可以了解如何应用Python爬虫来解决不同的数据获取和处理问题,从而进一

    2024年02月16日
    浏览(50)
  • 【Python自动化】定时自动采集,并发送微信告警通知,全流程案例讲解!

    目录 一、概要 二、效果演示 三、代码讲解 3.1 爬虫采集行政处罚数据 3.2 存MySQL数据库 3.3 发送告警邮件微信通知 3.4 定时机制 四、总结 您好!我是@马哥python说,一名10年程序猿。 我原创开发了一套定时自动化爬取方案,完整开发流程如下: 采集数据 - 筛选数据 - 存MySQL数据

    2024年02月05日
    浏览(49)
  • 【Python爬虫+数据分析】采集电商平台数据信息,并做可视化演示(带视频案例)

    随着电商平台的兴起,越来越多的人开始在网上购物。而对于电商平台来说,商品信息、价格、评论等数据是非常重要的。因此,抓取电商平台的商品信息、价格、评论等数据成为了一项非常有价值的工作。 接下来就让我来教你 如何使用Python编写爬虫程序,抓取电商平台的

    2024年02月11日
    浏览(65)
  • 【C++算法图解专栏】一篇文章带你掌握差分算法

    ✍个人博客:https://blog.csdn.net/Newin2020?spm=1011.2415.3001.5343 📣专栏定位:为 0 基础刚入门数据结构与算法的小伙伴提供详细的讲解,也欢迎大佬们一起交流~ 📚专栏地址:https://blog.csdn.net/Newin2020/article/details/126445229 ❤️如果有收获的话,欢迎点赞👍收藏📁,您的支持就是我创

    2024年04月11日
    浏览(44)
  • 【基础】【Python网络爬虫】【6.数据持久化】Excel、Json、Csv 数据保存(附大量案例代码)(建议收藏)

    创建数据表 批量数据写入 读取表格数据 案例 - 豆瓣保存 Excel 案例 - 网易新闻Excel保存 数据序列化和反序列化 中文指定 案例 - 豆瓣保存Json 案例 - Json保存 写入csv列表数据 案例 - 豆瓣列表保存Csv 写入csv字典数据 案例 - 豆瓣字典保存csv 读取csv数据 案例 - 网易新闻csv

    2024年02月03日
    浏览(59)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包