iT邦幫忙

2024 iThome 鐵人賽

DAY 16
0
Python

一些Python可以做的事系列 第 16

[Python]下載微信(wechat)公眾號的文章文字內容

  • 分享至 

  • xImage
  •  

這篇會根據之前所學( requests + BeautifulSoup )去實際操作練習

實作 : 下載微信(wechat)公眾號的文章文字內容

查詢微信公眾號的文章的網址 :

首先我們要下載wechat電腦端(我使用 window 系統)大家可以根據自己電腦系統去下載。下載完後登入自己wechat帳號。

接下來,找一個公眾號內的文章 ( 以鄧超工作室內最新文章為例)
https://ithelp.ithome.com.tw/upload/images/20240824/20168345e5UWS5taHN.png

再來,點擊瀏覽器icon他會跳到你電腦預設的瀏覽器內
https://ithelp.ithome.com.tw/upload/images/20240824/201683453R0Bogdabj.png

此時你就可以知道這篇文章的網址了 !

步驟 :

  1. 發送請求並獲取頁面內容
  2. 解析 HTML 內容
  3. 提取 title
  4. 提取內容 < p >
  5. 保存到文件

完整程式碼

import requests  # 用於發送 HTTP 請求
import os        # 用於創建目錄和處理文件系統
from bs4 import BeautifulSoup  # 用於解析 HTML 內容

# 網頁 URL
url = 'https://mp.weixin.qq.com/s/B0URjghrolg7HWVcZNUH5Q'

# 發送請求並獲取頁面內容
response = requests.get(url)
web_content = response.text

# 使用 BeautifulSoup 解析 HTML 內容
soup = BeautifulSoup(web_content, 'html5lib')

# 查找 h1 標籤並提取標題
title_element = soup.find('h1', id='activity-name')
title = title_element.text.strip()  # 去除標題文本的前後空白
print(title)

# 查找 div 標籤,並提取所有 p 標籤的文本內容
d = soup.find('div', id='js_content')
if d:
    pp = d.find_all('p')  # 查找所有 p 標籤
    for p in pp:
        print(p.text.strip())  # 打印每個 p 標籤的文本內容,去除前後空白
else:
    print('Content div not found.')

# 保存到文件
filename = f'{title}.txt'  # 使用標題作為文件名
with open(filename, 'w', encoding='utf-8') as file:
    file.write(f'Title: {title}\n\n')  # 寫入標題
    file.write('Content:\n')
    for p in pp:
        file.write(f'{p.text.strip()}\n\n')  # 寫入每個 p 標籤的文本內容

print(f'Content saved to {filename}')  

圖示 :

https://ithelp.ithome.com.tw/upload/images/20240824/201683459jzIyesFTX.png


上一篇
[Python] Selenium 和 Requests 的差別
下一篇
[Python]下載微信(wechat)公眾號內文章的照片
系列文
一些Python可以做的事19
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言