如何使用python撰寫爬蟲程式-自動取得當日即時股價

1. 安裝Requests和BeautifulSoup及lxml

pip install beautifulsoup4
pip install requests
pip install lxml

2. 撰寫程式碼:
=====以下是程式碼內容=====

 

 $ cat yahoostock.py 

 

#!/usr/local/bin/python3
# -*- coding: utf-8 -*-
import sys
import requests,datetime
from bs4 import BeautifulSoup
now = datetime.datetime.now()
today = now.strftime('%Y%m%d')
stock_ids = open("stocklist.txt").read().splitlines()
for stock_id in stock_ids:
 url = 'https://tw.stock.yahoo.com/q/q?s='+stock_id
 try:
  page = requests.get(url)
  soup = BeautifulSoup(page.content, 'html.parser')
  table = soup.find_all(text='成交')[0].parent.parent.parent
  stock_name = table.select('tr')[1].select('td')[0].text
  stock_price = table.select('tr')[1].select('td')[2].text
  stock_name2 = stock_name.strip('加到投資組合')
  slist = [today,stock_id,stock_price,stock_name2]
  print('|'.join(slist))  #OUTPUT FORMATE: 20200314|0050|81.00
 except:
  print('錯誤或無此代碼!!')

在Linux或是macOS底下,為了方便使用,第一行直接宣告環境變數,讓python程式可以和shell script有一樣的執行方式

3. 關注的股票代碼:
=====以下是檔名及內容格式=====

$ cat stocklist.txt
0050
0056
00679B
2330

4. 執行結果如下:

$ ./yahoostock.py
20200314|0050|81.00|0050元大台灣50
20200314|0056|25.29|0056元大高股息
20200314|00679B|48.47|00679B元大美債20年
20200314|2330|290.0|2330台積電

延伸閱讀:

如何使用python撰寫爬蟲程式-自動搜尋關鍵字取得yahoo新聞的標題及網址

 

 

“如何使用python撰寫爬蟲程式-自動取得當日即時股價” 有 4 則留言.

發表留言