日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > python >内容正文

python

keil生成hex文件找不到_骚操作!用Python把公众号文章打包成pdf文件,再也不怕找不到了...

發(fā)布時(shí)間:2024/9/15 python 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 keil生成hex文件找不到_骚操作!用Python把公众号文章打包成pdf文件,再也不怕找不到了... 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

背景

做自媒體的人,尤其是做了一年甚至更久的自媒體人,尤其是通過自媒體還有一些小收入的人,他們最怕自己的公眾號(hào)內(nèi)容因?yàn)楦鞣N原因而丟失,那就太可怕了! 在做自媒體內(nèi)容上花了太多心血,如果突然一下就沒了,那打擊是相當(dāng)大的,所以備份好自己的成果是非常重要的.

像我之前沒有這方面意識(shí),最近我做了一個(gè)小工具,把公眾號(hào)文章打包成pdf文件,然后保存到本地,免去后顧之憂.

其實(shí)我之前寫過了相關(guān)的文章,但那個(gè)時(shí)候?qū)懙倪€不是很好,不算完美,因?yàn)榇虬鰜淼奈募?#xff0c;看不到圖片,所以一直覺得有瑕疵!

在看這篇文章之前可以看之前的這兩篇, 這樣你看這篇文章就不會(huì)覺得很突然.

用Python抓取某大V的公眾號(hào)文章

Python抓取公眾號(hào)文章并生成pdf文件保存到本地

最近我終于把這個(gè)瑕疵給解決了, 另外再解決了其它的幾個(gè)問題,算是比較完美的升級(jí)吧!

先看效果圖:

有目錄,有圖片。

解決圖片顯示問題,先看生成的pdf文件樣子

其實(shí)直接獲取到公眾號(hào)文章的url就可以通過pdfkit工具包來生成一個(gè)pdf文件,但是這樣獲取出來的pdf文件圖片是顯示不出來的。

因?yàn)楣娞?hào)文章里的圖片是用data-src來標(biāo)記的,這在pdf中是不能顯示圖片,所以我在這里把,data-src替換成了src,然后圖片就可以顯示出來.

def create_article_content(self, url, text): """文章內(nèi)容""" str = '點(diǎn)擊查看公眾號(hào)原文'.format( url) + text.replace('data-src', 'src') return str

這部分代碼的含義: url 是公眾號(hào)原文鏈接,text 是公眾號(hào)網(wǎng)頁內(nèi)容這里面包含了樣式.

因?yàn)槲野褍?nèi)容抓取過來后,我還想去點(diǎn)擊原文,所以有了這個(gè)超鏈接,像上面圖片中的【點(diǎn)擊查看公眾號(hào)原文】,再看看如何生成pdf文件.

生成pdf文件

單篇文章生成一個(gè)文件

每篇文章就是一個(gè)文件,但這種生成文件的方式比較慢,好處就是每篇文章單獨(dú)成一個(gè)文件. 看效果圖:

具體代碼如下:

def creat_pdf_file(self, title, html_content): html = 'tmp.html' # 這里是存放臨時(shí)html文件with open(html, 'w', encoding='utf-8') as f: # 點(diǎn)擊open函數(shù)查看用法,這里是寫入不要搞錯(cuò)了 f.write(html_content)try: output_file = 'D:/gzh2/{}.pdf'.format(title)if not os.path.exists(output_file): # 過濾掉重復(fù)文件 pdfkit.from_file(html, output_file, configuration=self.config, ) # 注意這里需要配置一下wkhtmltopdfexcept Exception as e: print(sys._getframe().f_code.co_name) print(e)finally: os.remove(html)

title是文件名, html_content是文件內(nèi)容,這里把文件內(nèi)容定稿到一個(gè)臨時(shí)的html文件中,然后把這個(gè)臨時(shí)的html文件用pdfkit工具轉(zhuǎn)換成pdf文件.

所有文章生成一個(gè)文件

這里是把所有的html文件內(nèi)容組成一個(gè)數(shù)組,然后把這些內(nèi)容列表轉(zhuǎn)換成html的文件列表,然后把html文件列表放到pdfkit中轉(zhuǎn)換成一個(gè)pdf文件,這個(gè)好處就是比較快速,但是所有的文件都放到一個(gè)文件中,感覺不利于閱讀,也看各人喜好吧,效果圖如下:

看代碼

def creat_pdf_file(self): htmls = []for index, file in enumerate(self.html_contents): html = '{}.html'.format(index) # 這里是存放臨時(shí)html文件 with open(html, 'w', encoding='utf-8') as f: # 點(diǎn)擊open函數(shù)查看用法,這里是寫入不要搞錯(cuò)了 f.write(file) htmls.append(html)try: output_file = 'D:/gzh2/{}_的原創(chuàng)文章_第【{}-{}】篇.pdf'.format(self.gzh_name, (self.index_part - 1) * self.part_offset + 1,self.index_part * self.part_offset)if not os.path.exists(output_file): # 過濾掉重復(fù)文件 pdfkit.from_file(htmls, output_file, configuration=self.config, ) # 注意這里需要配置一下wkhtmltopdf except Exception as e:print(sys._getframe().f_code.co_name)print(e)finally:self.html_contents = [] # 生成文件后,清空緩存for file in htmls: os.remove(file)

注意點(diǎn)

我這里是用Charles來通過抓數(shù)據(jù)來進(jìn)行分析的,其中獲取文件的接口列表與cookie會(huì)有變化的,每次請(qǐng)求不同公眾號(hào),這里面的數(shù)據(jù)也不會(huì)相同,所以不管了,直接復(fù)制charles里的 url和cookie就好了, 所以你不能直接用我代碼里的的cookie和base_url

看下面的圖:

最后完整代碼,關(guān)注,轉(zhuǎn)發(fā),后臺(tái)私信小編“01”獲取,公眾號(hào)回復(fù),贈(zèng)送Python學(xué)習(xí)資料。

總結(jié)

以上是生活随笔為你收集整理的keil生成hex文件找不到_骚操作!用Python把公众号文章打包成pdf文件,再也不怕找不到了...的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。