<file_sep>import requests
from bs4 import BeautifulSoup
import pandas as pd

def name_price(url):
    resp=requests.get(url)
    
    #print(resp) response 200代表連接成功
    #print(resp.text) 以文字檔形式呈現網頁原代碼
    
    html=resp.content.decode("utf-8")
    #print(html) 解碼之後列印整張網頁
    
    soup=BeautifulSoup(html,"html.parser")
    #print(soup)
    
    div_names=soup.find_all("div","span",class_="Lh(20px) Fw(600) Fz(16px) Ell")
    div_prices=soup.find_all("div","span",class_="Fxg(1) Fxs(1) Fxb(0%) Ta(end) Mend($m-table-cell-space) Mend(0):lc Miw(90px)")
    #print(div_names)
    
    stocks_name=[]
    for name in div_names:
        stock_name= name.text.split()
        #print(stock_name)
        stocks_name.append(stock_name)
    #print(stocks_name)
    #print(len(stocks_name))
    


    stocks_price=[]
    for price in div_prices[1:]:
        stock_price=price.text.split()
        stocks_price.append(stock_price)
    #print(stocks_price)
    #print(len(stocks_price))
    
    

    _data=pd.DataFrame()
    _data['股名/股號']=stocks_name
    _data['股價']=stocks_price
    
    return _data
    


stock=name_price("https://tw.stock.yahoo.com/world-indices")
stock.to_csv('yahoo_stock',encoding='utf-8')
<file_sep># Web Crawler
## Yahoo股市 國際指數 股價

## 爬蟲語言＆模組

- 語言:Python
- 爬蟲模組:requests,BeautifulSoup
- 資料處理模組:pandas
<img src="./module.png" alt="cover" width="40%">

## 主要功能

- 利用爬蟲快速得到網頁資料。
- 利用class節點過濾資料精準得到所需欄位。
- 最後匯出一個csv檔


## 目標網站畫面截圖
- 目標網站：https://tw.stock.yahoo.com/world-indices （數值隨著股價變動而更改）

<img src="./target_1.png" alt="cover" width="45%"> <img src="./target_2.png" alt="cover" width="45%" >


## cvs檔案畫面截圖
<img src="./yahoo國際指數.png" alt="Cover" width="35%"/>


## 開發環境

- Spyder
- Python


## 專案開發人員

> [<NAME>](https://github.com/Chrislo-coding)
