溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Python怎么爬取論壇文章保存成PDF

發(fā)布時間:2021-11-23 11:24:28 來源:億速云 閱讀:212 作者:iii 欄目:大數(shù)據(jù)

本篇內(nèi)容介紹了“Python怎么爬取論壇文章保存成PDF”的有關(guān)知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細閱讀,能夠?qū)W有所成!

基本開發(fā)環(huán)境

  • Python 3.6

  • Pycharm

  • wkhtmltopdf

相關(guān)模塊的使用

  • pdfkit

  • requests

  • parsel

安裝Python并添加到環(huán)境變量,pip安裝需要的相關(guān)模塊即可。

一、目標需求

將CSDN這上面的文章內(nèi)容爬取保存下來,保存成PDF的格式。

二、網(wǎng)頁數(shù)據(jù)分析

如果想要把網(wǎng)頁文章內(nèi)容保存成PDF,首先你要下載一個軟件 wkhtmltopdf 不然你是沒有辦法實現(xiàn)的??梢宰孕腥グ俣人阉飨螺d,也可以找上面的 交流群 下載。

Python怎么爬取論壇文章保存成PDF


前幾篇文章已經(jīng)講了,關(guān)于文字方面的爬取方式,對于爬取文本內(nèi)容還是沒有難度了吧。

想要獲取文章內(nèi)容,首先就要爬取每篇文章的url地址。


具體分析的流程之前的文章也有分享過,這里就跳過了。

python爬取CSDN博客文章并制作成PDF文件

完整實現(xiàn)代碼

import pdfkit
import requests
import parsel

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


def save(article, title):
    pdf_path = 'pdf\\' + title + '.pdf'
    html_path = 'html\\' + title + '.html'
    html = html_str.format(article=article)
    with open(html_path, mode='w', encoding='utf-8') as f:
        f.write(html)
        print('{}已下載完成'.format(title))
    # exe 文件存放的路徑
    config = pdfkit.configuration(wkhtmltopdf='C:\\Program Files\\wkhtmltopdf\\bin\\wkhtmltopdf.exe')
    # 把 html 通過 pdfkit 變成 pdf 文件
    pdfkit.from_file(html_path, pdf_path, configuration=config)


def main(html_url):
    # 請求頭
    headers = {
        "Host": "blog.csdn.net",
        "Referer": "https://blog.csdn.net/qq_41359265/article/details/102570971",
        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36",
    }
    # 用戶信息
    cookie = {
        'Cookie': '你自己的cookie'
    }
    response = requests.get(url=html_url, headers=headers, cookies=cookie)
    selector = parsel.Selector(response.text)
    urls = selector.css('.article-list h5 a::attr(href)').getall()
    for html_url in urls:
        response = requests.get(url=html_url, headers=headers, cookies=cookie)
        # text 文本(字符串)
        # 遭遇了反扒
        # print(response.text)
        """如何把 HTML 變成 PDF 格式"""
        # 提取文章部分
        sel = parsel.Selector(response.text)
        # css 選擇器
        article = sel.css('article').get()
        title = sel.css('h2::text').get()
        save(article, title)


if __name__ == '__main__':
    url = 'https://blog.csdn.net/fei347795790/article/list/1'
    main(url)

Python怎么爬取論壇文章保存成PDF

Python怎么爬取論壇文章保存成PDF

“Python怎么爬取論壇文章保存成PDF”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實用文章!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI