keil生成hex文件找不到_骚操作!用Python把公众号文章打包成pdf文件,再也不怕找不到了...
背景
做自媒體的人,尤其是做了一年甚至更久的自媒體人,尤其是通過自媒體還有一些小收入的人,他們最怕自己的公眾號(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)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 合并分支时有的文件删除了_GitGith
- 下一篇: python sklearn下载了但是引