# 股市爬蟲 ## 實施架構  檔案下載 ## 步驟1:建立S3 Bucket ### 用途:存放股票資料 1. 進入aws consoel 2. 進入s3點選 [Create bucket]  3. 為自己的buket取名字  4. 取消勾選「Block all publick access」,並勾選下面的警告,表示您了解取消勾選後會使bucket跟object公開  5. 點擊create buket  ## 步驟2:建立第一個Lambda ### 用途:抓證交所網頁資料並存入S3 1. 進入Lambda,點選[Create Lambda]  2. 輸入Function name(名稱自訂)  3. Runtime選擇Python3.13  4. 展開下方的Change default execution role 選擇[Use an existing role] 下面選擇LabRole 最後點選[Create function]  5. 點選[Upload from]  6. 選擇上傳[.zip file]  7. 點選[Upload],選擇lambda_1.zip的檔案  8. 確認選擇的檔案是否正確,點擊[Save]  9. 點選[Configuration]  10. 點選[Edit]  11. 更改Timeout為1分鐘後,下面點選[save]  12. 點選[Code]  13. 程式碼第19行更改成自己的S3 Bucketname(可以到s3去複製)  14. 點選左邊的[Deploy]  15. 點選[Test],[creare new test event]   16. 對測試事件取名字後,[save]  17. 再次點選[Test]  18. 選擇剛剛建的測試事件  19. 跑完測試後,output的結果  20. 進入s3檢查是否有爬下來的資料  ## 步驟3:建立DynamoDB ### 用途 1. 進入DynamoDB,點選[Create table]  2. 取一個Table,Partition key寫id,點選[Create table]   ## 步驟4:建立第二個Lambda 1. 進入Lambda,點選[Create Lambda]  2. 輸入Function name(名稱自訂)  3. Runtime選擇Python3.13  4. 展開下方的Change default execution role 選擇[Use an existing role] 下面選擇LabRole 最後點選[Create function]  5. 點選[Add trigger]  6. 選擇s3  7. 選擇步驟1建立的Bucket  8. 最下面的勾選起來(確保 Lambda 函數的輸入和輸出使用不同的 S3 存儲桶,避免因寫入相同存儲桶而觸發遞迴調用,進而增加使用量與成本。) 最後點選[add]  9. Lambda左邊有s3表示有成功新增trigger  10. 點選[Upload from]  11. 選擇上傳[.zip file]  12. 點選[Upload],選擇lambda_2.zip的檔案  13. 確認選擇的檔案是否正確,點擊[Save]  14. 更改程式碼第12行更換成DynamoDB table name  15. 點選左邊的[Deploy]  16. 點選[Test],[creare new test event]   17. 對測試事件取名字  18. 複製lambda_test.json內的測試資料 19. 第23行換成s3 bucket name,第30行換成object key  20. object key是s3 bucket內的object name。 進入bucket,複製其中一個object name,或是點進去object內也有可以點選複製的   21. 確認兩個地方更改完成後,點選[save]  22. 再次點選[Test]  23. 選擇剛剛建的測試事件  24. 跑完測試後,output的結果  25. 進入DynamoDB查看是否有資料,點選Explore items  26. 選擇你在步驟2建立的table  27. 有出現資料表示有成功將網站抓取的股票資料存入資料庫  ## 步驟5:正式進行爬蟲、解析資料並存到DynamoDB 1. 將剛剛因測試而建立的資料。全選後,點擊[Actions],選擇Delete items  2. 再來要設定串流。選擇Tables,並點進你創建的table  3. 點選Exports and streams設定串流  4. 在DynamoDB stream details,點選turn on  5. 選擇New and old images後,[Turn on stream]  6. 回到第一個建立的Lambda,點選[Test]  7. 爬蟲結果Succeeded後,回去DynamoDB  8. 成功,若是沒有資料可以點一下重整 
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up