首页 编程教程正文

python采集网页内容打印pdf输出文档

piaodoo 编程教程 2020-02-22 22:15:09 1279 0 python教程

本文来源吾爱破解论坛

python采集网页内容打印pdf输出文档
python采集网页内容打印pdf输出文档

QQ截图20190918191241.jpg (22.04 KB, 下载次数: 0)

下载附件  保存到相册

2019-9-18 19:13 上传



confg = pdfkit.configuration(wkhtmltopdf=r'C:\Users\Administrator\AppData\Local\Programs\Python\Python37\wkhtmltox\bin\wkhtmltopdf.exe')
这里替换成自己的exe路径
具体配置看我上一篇帖子:https://www.52pojie.cn/thread-1002135-1-1.html

[Asm] 纯文本查看 复制代码
#追梦人物博客采集打印pdf
# -*- coding: UTF-8 -*-
from fake_useragent import UserAgent
import requests
from bs4 import BeautifulSoup
import re
import pdfkit

confg = pdfkit.configuration(wkhtmltopdf=r'C:\Users\Administrator\AppData\Local\Programs\Python\Python37\wkhtmltox\bin\wkhtmltopdf.exe')

class ZmrwSpider(object):
    def __init__(self,url):
        self.ua=UserAgent()
        self.headers={"User-Agent":self.ua.random}
        self.data=""
        self.url=url
        self.list_urls=[]

    def get_listurl(self):
        response=requests.get(self.url,headers=self.headers)
        if response.status_code==200:
            soup=BeautifulSoup(response.text,'lxml')
            a=soup.find('div',class_="toc").find_all('a')
            for href in a:
                list_url=f"https://www.zmrenwu.com{href['href']}"
                if "#" not in list_url:
                    self.list_urls.append(list_url)
        return self.list_urls

    def get_content(self):
        for list_url in self.list_urls:
            response=requests.get(list_url,headers=self.headers)
            if response.status_code==200:
                if list_url=="https://www.zmrenwu.com/courses/hellodjango-blog-tutorial/":
                    article=re.findall(r'<article class="material">(.+?)</article>',response.text,re.S)[0]
                else:
                    article = re.findall(r'<article class="">(.+?)</article>', response.text, re.S)[0]
            self.data='%s%s'%(self.data,article)
        return self.data

    def dypdf(self):
        datas=f'<html><head><meta charset="UTF-8"></head><body>{self.data}</body></html>'
        print("开始打印内容!")
        pdfkit.from_string(datas, r'out.pdf', configuration=confg)
        print("打印保存成功!")


if __name__ == '__main__':
    url="https://www.zmrenwu.com/courses/hellodjango-blog-tutorial/"
    zmrw=ZmrwSpider(url)
    zmrw.get_listurl()
    zmrw.get_content()
    zmrw.dypdf()


附pdf文档:
HelloDjango - Django博客教程(第二版)-追梦人物的博客
嗨学网 HelloDjango - Django博客教程(第二版)-追梦人物的博客.zip (767.17 KB, 下载次数: 56) 2019-9-18 19:11 上传 点击文件名下载附件
django教程
下载积分: 吾爱币 -1 CB

本帖被以下淘专辑推荐: · 源码系列|主题: 31, 订阅: 8

版权声明:

本站所有资源均为站长或网友整理自互联网或站长购买自互联网,站长无法分辨资源版权出自何处,所以不承担任何版权以及其他问题带来的法律责任,如有侵权或者其他问题请联系站长删除!站长QQ754403226 谢谢。

有关影视版权:本站只供百度云网盘资源,版权均属于影片公司所有,请在下载后24小时删除,切勿用于商业用途。本站所有资源信息均从互联网搜索而来,本站不对显示的内容承担责任,如您认为本站页面信息侵犯了您的权益,请附上版权证明邮件告知【754403226@qq.com】,在收到邮件后72小时内删除。本文链接:https://www.piaodoo.com/7971.html

搜索