【正規表達法練習】用正規表達法快速抓取所有上市公司代號

學習於: 2021 年 1 月 7 號

這次練習用正規表達法快速抓取所有上市公司代號,學習來源:大樹數據YouTube

import requests
res = requests.get('https://www.tej.com.tw/webtej/doc/uid.htm')

輸出 res 文字。

res.text

輸出的是看不懂的亂碼。

res.encoding  = 'big5'
res.text

這時候輸出的內容就可以看懂了。

from bs4 import BeautifulSoup
BeautifulSoup(res.text, 'lxml')

發現資料都放在 Table 中。

soup = BeautifulSoup(res.text, 'lxml')
soup.select('table')
table =soup.select('table')
table[0]

仔細看內容不是我們要找的,沒有上市公司的資料。

往下找。

table[1]

可以看到資料都在這裡。

table[1].text

取得純文字內容。

import re
re.findall('(\d+)',table[1].text)

\d: 抓去所有都是數字,把上市公司代碼抓下來。

stock_ids = re.findall('(\d+)',table[1].text)
len(stock_ids)

這樣就可以抓到每個上市公司的代碼啦。

Leave a Comment

Your email address will not be published. Required fields are marked *