iT邦幫忙

2022 iThome 鐵人賽

DAY 2
0

前言:網站是由許多網頁所構成,裡面有很多文字、圖片、超連結、表格等等,因此,爬網前確認資料存放的網頁及網址的組成,以下本次爬蟲說明。

  • 目標網站:Goodinfo!台灣股市資訊網
  • 股票代號:2330
  • 目標欄位:
    年度
    股本 (億)
    財報 評分
    收盤
    平均
    漲跌
    漲跌 (%)
    營業收入
    營業毛利
    營業利益
    稅後淨利
    營業毛利
    營業利益
    業外損益
    稅後淨利
    ROE (%)
    ROA (%)
    稅後 EPS
    年增 (元)
    BPS (元)

step1: 進到goodinfo首頁
step2: 輸入股票代號
step3: 點「經營績效」,可查得歷史收盤價(以年來看)。

爬蟲 goodinfo

使用requests 模組,觀察該URL最後有一參數STOCK_ID,帶入本次所抓的股票代號(2330)即可。

import requests
url = "https://goodinfo.tw/StockInfo/StockBzPerformance.asp?STOCK_ID=2330"
res = requests.get(url)
res.text

https://ithelp.ithome.com.tw/upload/images/20220918/20152199tkzbMQAjxa.png
從上圖可以看一堆亂碼,可知該網址出現編碼問題,導致中文無法顯示。

設定編碼

Response 常用的屬性及說明


  1. url:資源的 URL 位址。
  2. content:回應訊息的內容 ( bytes )。
  3. text:回應訊息的內容字串 ( str )。
  4. raw:原始回應訊息串流 ( bytes )。
  5. status_code:回應的狀態 ( int )。
  6. encoding:回應訊息的編碼。
  7. headers:回應訊息的標頭 ( dict )。
  8. cookies:回應訊息的 cookies ( dict )。
  9. history:請求歷史 ( list )。
  10. json():將回應訊息進行 JSON 解碼後回傳 ( dict )。
  11. rasise_for_status():檢查是否有例外發生,如果有就拋出例外。
res.encoding = "utf-8"
res.text

https://ithelp.ithome.com.tw/upload/images/20220918/201521996wd4Cs0GPy.png
開心不再有亂碼了,不過顯示『請勿透過網站內容下載軟體查詢本網站』。


上一篇
股價預測篇-爬蟲part1(金融類)
下一篇
股價預測篇-爬蟲part3(金融類)
系列文
從無到有,爬蟲-分析-預測建模,把實務面常見問題逐一釐清18
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言