通過Python爬取公告內容

在網絡時代,信息獲取變得更加便捷。通過網絡爬蟲技術,我們可以從互聯網上快速獲取各種信息。本文將介紹如何使用 Python 爬蟲工具從指定網站上獲取公告內容,并提取其中的關鍵信息。

1. 簡介

在本文中,我們將使用 Python 的 requests 庫和 BeautifulSoup 庫來實現網頁內容的獲取和解析。具體來說,我們將從一個示例網站中獲取公告內容,并提取標題、報名方式、報名截止日期、報名狀態以及發布時間等信息。

2. 準備工作

在開始之前,確保你已經安裝了 Python 和相應的庫。可以使用以下命令安裝所需庫:

pip install requests beautifulsoup4

3. 代碼實現

下面是我們的 Python 代碼實現:

import requests
from bs4 import BeautifulSoup# 發送請求獲取頁面內容
url = 'https://bp.cfldcn.com/article!list.do?categoryCode=zbgg&request_time=1716616589463'
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0.0.0 Safari/537.36'
}
response = requests.get(url, headers=headers)
response.encoding = 'utf-8'  # 如果頁面內容不是utf-8編碼,需要根據實際情況修改# 檢查請求是否成功
if response.status_code == 200:# 使用BeautifulSoup解析頁面內容soup = BeautifulSoup(response.text, 'html.parser')# 獲取所有<tr>元素trs = soup.find_all('tr')# 遍歷每個<tr>元素for tr in trs:# 獲取<tr>元素下的所有<td>元素tds = tr.find_all('td')# 遍歷每個<td>元素,并獲取其內容for td in tds:content = td.get_text()print(content)# 提取標題title = soup.find('title').text if soup.find('title') else '標題未找到'# 假設報名方式、報名截止日期、報名狀態、發布時間在特定的標簽中# 這里的示例假設這些信息在一個特定的div或其他標簽中# 你需要根據實際的HTML結構調整選擇器registration_method = soup.select_one('.submit_online').text if soup.select_one('.submit_online') else '報名方式未找到'registration_deadline = soup.select_one('.registration-deadline').text if soup.select_one('.registration-deadline') else '報名截止日期未找到'registration_status = soup.select_one('.submit_ing').text if soup.select_one('.submit_ing') else '報名狀態未找到'publication_date = soup.select_one('.submit_ing').text if soup.select_one('.submit_ing') else '發布時間未找到'# 打印提取的信息print('標題:', title)print('報名方式:', registration_method)print('報名截止日期:', registration_deadline)print('報名狀態:', registration_status)print('發布時間:', publication_date)
else:print('無法訪問頁面,狀態碼:', response.status_code)

4. 結果解析

在代碼中,我們首先發送 HTTP 請求獲取網頁內容,然后使用 BeautifulSoup 解析頁面內容。接著,我們通過選擇器提取所需信息,并將其打印輸出。

5. 總結

通過本文的介紹,我們學習了如何使用 Python 爬蟲工具從指定網站上獲取公告內容,并提取其中的關鍵信息。這種技術在實際工作中具有廣泛的應用,可以幫助我們快速獲取所需的信息,提高工作效率。

希望本文能對你有所幫助,謝謝閱讀!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/15270.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/15270.shtml
英文地址,請注明出處:http://en.pswp.cn/web/15270.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

幾個速度比較快的 Linux 開源鏡像站及支持的資源列表

搜狐開源鏡像站 https://mirrors.sohu.com/ File Name CPAN/ FreeBSD/ QpenBSD/ RockyL apache/ archlinux/ centos/ ceph/ cygwin/ debian/ debian–cd/ debian-security/ deepin/ deepin-cd/ docker-ce/ fedora/ fedora-epel/ gentoo/ lib/ mysql/ nginx/ opensuse/ php/ ubu…

C++筆試強訓day32

目錄 1.素數回文 2.活動安排 3.合唱團 1.素數回文 鏈接https://www.nowcoder.com/practice/d638855898fb4d22bc0ae9314fed956f?tpId290&tqId39945&ru/exam/oj 現將其轉化為回文數&#xff08;這里用字符串存儲比較方便轉化&#xff09;&#xff0c;然后判斷是否為…

Ubuntu安裝IPOPT和Casadi

1.IPOPT安裝 1.1安裝所需功能包 sudo apt-get install cppad sudo apt-get install gcc g gfortran subversion patch wget1.2下載最新源代碼3.14 https://www.coin-or.org/download/source/Ipopt/1.3解壓進入IPOPT安裝包&#xff0c;下載ASL git clone https://github.com/…

python項目中的__pycache__有什么作用?

在 Python 項目中&#xff0c;目錄 __pycache__ 通常用于存儲已編譯的字節碼文件。這些文件是 Python 解釋器在導入模塊時生成的&#xff0c;以加快后續的模塊加載速度。 具體內容 __pycache__ 目錄中的文件是以 .pyc 擴展名結尾的字節碼文件。文件名通常會包含原始 Python 源…

【FPGA】VGA顯示文字、彩條、圖片——基于DE2-115

文章目錄 前言一、VGA概述1.1 簡述1.2 管腳定義1.3 VGA顯示原理1.4 VGA時序標準1.5 VGA 顯示模式及相關參數 二、VGA顯示自定義的漢字字符2.1 點陣漢字生成2.2 生成BMP文件2.3 生成txt文件2.4 實現效果 三、VGA顯示條紋3.1 實現流程3.2 實現效果 四、VGA輸出一幅彩色圖像4.1 bm…

ArcGIS不同圖斑設置不同的透明度

對于設置一個圖層的整體的透明度&#xff0c;我們在 ArcGIS制作帶蒙版的遙感影像地圖http://mp.weixin.qq.com/s?__bizMzIzNjM2NTYxMg&mid2247509080&idx1&sn38dccf0a52bb3bb3758f57114ee38b72&chksme8da161bdfad9f0d363da90959a8524dcf2b60d0e8d999f8ebeef0…

Unity面試八股文之基礎篇

文章目錄 前言1. Unity的生命周期加載第一個場景Editor在第一次幀更新之前幀之間更新順序協程銷毀對象時退出時 2. Unity 協程和線程,進程的區別3. 本地坐標系 世界坐標系4. 碰撞器和觸發器的區別后話 前言 開設這個欄目的博文會寫一些有關unity的面試題目&#xff0c;在面試的…

如何做好軟件項目的溝通管理

如何做好軟件項目的溝通管理 軟件項目的溝通管理是確保項目信息在團隊成員、利益相關者和相關群體之間有效流通的過程。良好的溝通是項目成功的關鍵&#xff0c;在項目開始時&#xff0c;需要制定詳細的溝通計劃&#xff0c;包括溝通的目的、對象、內容、頻率和渠道等信息。 …

【spring】@ResponseBody注解學習

ResponseBody介紹 ResponseBody 是一個Spring框架中的注解&#xff0c;主要用于Web開發&#xff0c;特別是在Spring MVC框架中。它的核心作用是改變Spring MVC處理HTTP請求響應的行為&#xff0c;使得從控制器方法返回的數據直接寫入HTTP響應體&#xff08;Response Body&…

Python面試寶典:Python中與網絡協議基礎和socket編程相關的知識和面試筆試題(1000加面試筆試題助你輕松捕獲大廠Offer)

Python面試寶典:1000加python面試題助你輕松捕獲大廠Offer【第二部分:Python高級特性:第十四章:網絡編程:第一節:網絡協議基礎和socket編程】 第十四章:并發編程第一節:網絡協議基礎和socket編程網絡協議基礎Socket編程創建SocketTCP服務器TCP客戶端數據傳輸關閉Socket…

Python高級進階--slice切片

slice切片?? 在 Python 中&#xff0c;切片操作是一種常見且方便的方式&#xff0c;用于從字符串、列表或元組中獲取部分元素。這種操作通過指定起始索引、結束索引和步長來實現。下面我們來看一些關于切片的簡單介紹以及一些常見用法。 1. 切片簡介 取一個str、list、tup…

【Unity2D:Animator】為角色添加動畫效果

一、添加Animator組件并創建Animator Controller文件 1. 添加Animator組件&#xff1a; 2. 在Assets-Art文件夾中新建一個名為Animations的文件夾&#xff0c;用來存儲所有動畫資源 3. 在Animations文件夾中新建一個名為Player的文件夾&#xff0c;再創建一個名為Animators的文…

LeetCode //C - 119. Pascal‘s Triangle II

119. Pascal’s Triangle II Given an integer rowIndex, return the rowIndexth (0-indexed) row of the Pascal’s triangle. In Pascal’s triangle, each number is the sum of the two numbers directly above it as shown: Example 1: Input: rowIndex 3 Output: …

vue項目移動端商場

一、項目前端頁面展示 二、項目整體目錄結構 三、項目流程 1. vue快速創建基礎項目 創建項目 vue create hk-shop 1 選擇需要的配置 創建基礎文件夾目錄 src文件夾下文件夾目錄&#xff1a; ① views 文件夾存放界面 ② components 文件夾存放界面中局部組件 ③ config 文件夾存…

【排序算法】——歸并排序(遞歸與非遞歸)含動圖

制作不易&#xff0c;三連支持一下吧&#xff01;&#xff01;&#xff01; 文章目錄 前言一.歸并排序遞歸方法實現二.歸并排序非遞歸方法實現 前言 這篇博客我們將介紹歸并排序的原理和實現過程。 一、歸并排序遞歸方法實現 基本思想&#xff1a; 歸并排序&#xff08;MERGE-…

JS(ES_6)_2

1.創建對象的6種方式&#xff1a; 1. obnew Object() ob.nameah ob.age18 2. ob{name:ah,gae:18} 3.工廠模式&#xff1a; 設計一個函數&#xff0c;專門生產Person類型的對象 <script>function createPerson(name,age,family) {var o new Object();o.name name;o.…

軟件設計師備考 | 案例專題之數據流圖 概念與例題

案例分析專題大綱&#xff1a; 數據流圖基本概念 基本圖形元素&#xff1a;外部實體、加工、數據存儲、數據流 數據流&#xff1a;由一組固定成分的數據組成&#xff0c;表示數據的流向。在DFD中&#xff0c;數據流的流向必須經過加工。加工&#xff1a;描述了輸入數據流到輸出…

啊哈!算法-第2章-棧、隊列、鏈表

啊哈!算法-第2章-棧、隊列、鏈表 第1節 解密qq號——隊列第2節 解密回文——棧第3節 紙牌游戲——小貓釣魚第4節 鏈表第5節 模擬鏈表 第1節 解密qq號——隊列 新學期開始了&#xff0c;小哈是小哼的新同桌(小哈是個大帥哥哦~)&#xff0c;小哼向小哈詢問 QQ 號&#xff0c; 小…

算法提高之線段樹

算法提高之線段樹 存儲方式 線段樹除了最后一層葉子節點以外是一個滿二叉樹類似堆的形式 因此可以用堆來存儲線段樹同時注意到 數組是可以模擬堆的 因此我們可以用一位數組來存儲線段樹 節點編號為u&#xff0c;對應左子樹編號為2 * u&#xff0c;右子樹編號為2 * u 1裝逼一…

C++ 學習 指針上

&#x1f64b; 繼續C Primer 第五版的學習 注 后面還會有關于指針進一步的學習 本篇為基礎篇 &#x1f33f;可以先看看這兩篇 或許可以進一步加深一下對指針的理解 指針和數組 指針簡介 &#x1f308; 上一次講了 C中的引用&#xff0c;現在總結一下指針和引用的主要區別。 …