iT邦幫忙

2023 iThome 鐵人賽

DAY 3
1
自我挑戰組

待業不頹廢系列 第 3

Day 3 . 欸 今天要幹嘛 - 實作解題( python 靜態爬蟲)

  • 分享至 

  • xImage
  •  

基本開門儀式題目 hello, world

  1. 使用 vs code 開新視窗 -> 選擇語言 python -> 存檔 -> 副檔名是 .py

  2. 內文編輯 print("Hello, World!")
    https://ithelp.ithome.com.tw/upload/images/20230918/20150181aCC10t3zVo.png

  3. 終端機執行 $ python hello.py
    https://ithelp.ithome.com.tw/upload/images/20230918/20150181Nlryx9hhhu.png

靜態爬蟲起手式

ps更換網址題目
(由於原先題目是動態網頁,相較靜態頁面比較進階,故更換網頁跟題目)

通常是說網頁可以分為靜態和動態,而爬蟲則根據網頁的特性分為靜態爬蟲和動態爬蟲。
這是因為網頁的動態性與數據加載方式相關,而爬蟲則是根據網頁的特性來選擇採取不同的爬取方法。

在處理靜態網頁使用爬蟲來抓取這些資料時,要安裝一些常用套件 like requestsbeautifulsoup4
先展示一下,固定起手式,一會再來說說安裝套件。
處理靜態爬蟲會需要的套件有 requests、beautifulsoup4 ,應用起來程式碼長相大概是這樣

import requests
from bs4 import BeautifulSoup

url = "爬的網址"
response = requests.get(url)

soup = BeautifulSoup(response.text, "html.parser")

接下來一一解釋每一行存在的意義

import requests 
from bs4 import BeautifulSoup 

上面兩行語句是許多數據擷取和網頁爬蟲的起手式,
引入需要的工具:

  • requests:用於發送 HTTP 請求。
  • BeautifulSoup:用於解析 HTML。
url = "某某網址" # 發送 HTTP GET 請求
response = requests.get(url) 
#response 對象包含了網頁的所有內容,包括 HTML 代碼和其他相關數據。

使用 requests 的 get 函數,向指定的 URL 發送了一個 HTTP GET 請求。發起了對 url 變數中指定的 URL 的請求。如果該 URL 正確且可訪問,伺服器將響應該請求,並將響應存儲在 response 變數中。response 包含了網頁的所有內容,包括 HTML 代碼和其他相關數據。

第一行設置了一個名為 url 的變數,它包含了要訪問的網頁的URL。
在這個例子中,URL 指向了一個網頁,這個網頁包含了我們希望獲取數據的內容。
上面這兩行也可以說是固定起手式

soup = BeautifulSoup(response.text, "html.parser") # 解析 HTML 頁面
  • response.text : 在之前的代碼中,我們使用 requests.get(url) 發送了一個 HTTP GET 請求並將服務器的響應存儲在 response 變量中。response.text 是這個響應的文本內容,即網頁的 HTML 代碼。
  • BeautifulSoup(XXX,YYY) : Beautiful Soup 是一個用於解析 HTML 和 XML 文檔的 Python 套件。
    在括號中,有兩個參數:
    第一個參數 (response.text) 是你想要解析的文本內容,這裡是 HTTP 響應的 HTML 代碼。
    第二個參數 ("html.parser") 是指定 Beautiful Soup 使用哪種解析器來解析文檔。在這裡,我們使用"html.parser",這是 Python 內置的解析器,用於解析 HTML 文檔。

安裝套件 requests、beautifulsoup4

所以說我們剛剛上面的程式碼會需要這兩個工具
我們就來安裝吧,可以先使用檢視來看看有無此套件,使用 show

$ pip3 show beautifulsoup4

安裝指令 有新版本指令哦

$ pip3 install requests beautifulsoup4
# 兩個一起裝 如果拆開安裝就是
# $ pip3 install beautifulsoup4
# $ pip3 install requests 

$ pip install beautifulsoup4
(上面這種是舊款,查資料會發現指令“已無效”)

安裝完如下跑很快就結束了
https://ithelp.ithome.com.tw/upload/images/20230918/20150181nLla49Ug2v.png

小結

網頁分為動態靜態,依照不同模式有不同的爬蟲工具
明天就來試試新題目如何應用爬蟲吧


上一篇
Day 2 . 欸 今天要幹嘛 - python 環境設定
下一篇
Day 4 . 欸 今天要幹嘛 - 接續昨天!( python 靜態爬蟲)
系列文
待業不頹廢30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言