iT邦幫忙

2024 iThome 鐵人賽

DAY 30
0
Python

Python大戰之網頁爬蟲系列 第 29

[Day 30]總結

  • 分享至 

  • xImage
  •  

接續昨天 :

之後,我開始探索如何使用MySQL資料庫來儲存爬蟲抓取到的數據。
首先,我在本地安裝並配置了MySQL。這個過程包括設置資料庫的根用戶帳戶和密碼,
並為資料存儲創建了一個專用的資料庫。在設置完成後,
我學會如何通過命令行工具來管理MySQL,這是進行資料操作的基礎。

接下來,我嘗試通過Python語言中的MySQL連接器庫來連接資料庫。
這需要設定資料庫的主機、使用者名稱、密碼等資訊,以便讓程式能夠正確連線並操作資料。

起初我遇到了使用者授權不足的錯誤,系統提示無法訪問資料庫。
為了解決這個問題,我在MySQL命令行中為該使用者授予了資料庫的完全操作權限,
這樣使用者才能對資料庫進行讀寫操作。

在成功連接資料庫後,我學會了如何在資料庫中創建資料表,
這是存放數據的結構化格式。資料表通常由多個欄位組成,對應不同的數據類型,
比如查詢的關鍵字、爬取到的搜尋結果等。學會創建資料表後,
我進一步學習了如何將網頁爬蟲獲得的數據插入到資料表中。
這涉及到先將數據處理成合適的格式,再將其逐條寫入資料庫。

進行這些操作的過程中,我多次遇到與資料庫連接相關的錯誤,
例如當連接超時或語法錯誤時,資料庫會返回錯誤訊息。我需要細心檢查每個步驟,
確保連接配置正確,SQL語句符合語法規範,並且在每次操作後正確關閉資料庫連接,
避免因為資源佔用過多而影響效能。

在學習完資料庫相關內容後,我深入學習了Selenium這個自動化工具。
Selenium能模擬人類用戶在瀏覽器上的操作,
這對於動態網站的數據爬取非常有用。

起先我學習如何使用Selenium啟動瀏覽器,
並將瀏覽器導航至指定的網站頁面。這個過程模擬了用戶在瀏覽器中打開網站的行為,
Selenium會自動打開一個Chrome瀏覽器並訪問Google首頁。

再者,我使用Selenium來模擬在搜尋框中輸入查詢關鍵字的過程,
這讓我可以自動進行Google搜尋。輸入關鍵字後,
Selenium還可以模擬按下回車鍵以觸發搜尋功能。
整個操作過程完全模擬了用戶使用鍵盤進行互動的行為。

搜尋完成後,我學習如何從網頁上抓取搜尋結果。
Selenium允許我定位到網頁中的特定元素,並提取該元素中的文本數據,
這些數據就是我所需要的搜尋結果。這是一個非常有趣的過程,
因為它展示了Selenium強大的功能,能夠像人類一樣瀏覽和操作網頁。

最後,為了方便後續的數據分析,
我運用了Pandas這個資料處理工具來將搜尋結果保存到CSV文件中。
Pandas能夠將結構化數據轉換成表格格式,並提供了許多便捷的數據處理方法。

我將提取到的搜尋結果存入一個DataFrame,
並使用Pandas內建的功能將數據保存為本地的CSV文件。


總結這次學習,從反爬蟲技術MySQL資料庫的操作,
再到使用Selenium進行動態網站的自動化爬取,
以及最後將數據保存到CSV文件的完整流程,
我獲得了非常豐富的經驗。每個步驟都有相應的挑戰,
尤其是在解決各種技術錯誤時,
我學會了如何仔細檢查每個細節,並進一步理解了每種技術的工作原理。

整體來說,這次學習讓我對網頁爬蟲技術及其數據儲存有了更深入的掌握,
並且強化了我對自動化工具和資料庫操作的綜合能力。


以上就是這次學習的統整心得了,就到這邊,下次再見了各位!!!


上一篇
[Day 29] 完賽統整
系列文
Python大戰之網頁爬蟲29
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言