知道如何抓取個股歷史資料後,接著就是批次爬取了。需要建立一個股票列表,通過列表來捉所有股票資料。

以下的程式是抓取證交所"本國上市證券國際證券辨識號碼一覽表"的資料

一覽表連結在此:http://isin.twse.com.tw/isin/C_public.jsp?strMode=2


爬蟲程式

使用requests與BeautifulSoup做截取,中文的部分為了要匯入資料庫,所以都轉為utf-8編碼


import re
import requests
from bs4 import BeautifulSoup

def getList():
	url = "http://isin.twse.com.tw/isin/C_public.jsp?strMode=2"
	res = requests.get(url, verify=False)
	soup = BeautifulSoup(res.text,'html.parser')
	
	for row in soup.select('tr'):
		cols = row.find_all('td')
		col1 = cols[0].text.encode('utf-8')
		data = re.search(r'(.*)     (.*)',col1)
		if data is not None:
			if data.group(1) is not None:
				if data.group(2) is not None:
					if (len(cols[4].text.encode('utf-8')) != 0):
						symbolid =  filter(str.isalnum,data.group(1))
						symbol = data.group(2)
						start = cols[2].text.encode('utf-8')
						type = cols[4].text.encode('utf-8')
                        print symbolid,symbol,start,type

getList()

程式執行截圖

cc