- 帖子
- 55
- 主題
- 1
- 精華
- 0
- 積分
- 81
- 點名
- 0
- 作業系統
- win
- 軟體版本
- 10
- 閱讀權限
- 20
- 註冊時間
- 2016-5-15
- 最後登錄
- 2018-11-1
|
本帖最後由 koshi0413 於 2016-9-12 20:33 編輯
小弟我終於可以回覆了,感動!!
這文章我追很久了 python 也是看到這篇才開始學的,
在此論壇學了不少vba 也看了些c_c_lai 學到不少,剛好看到c_c_lai有提問,來報答一下
下面為 c_c_lai 之需求,下載csv很方便,也很快!!! 但匯入 SQL麻煩,要在轉碼,故小弟會選擇直接提取(其實是還不會用python直接轉csv碼在自動匯入SQL)
ps:代碼為zyzzyva修改版
pps:源碼中段落有 # 皆為提取網頁時,反覆實驗用,這網頁為了提取所而段落也花了一小時來試各種網頁代碼來用BeautifulSoup提取- # -*- coding: utf-8 -*-
- import requests
- import time
- import os
- from bs4 import BeautifulSoup as BS
- from datetime import date
- headers = {"User-Agent":"Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.112 Safari/537.36"}
- url1 = "等級不夠,網址請自行輸入"
- payload = {"download":'',
- "qdate":'105/09/10',
- "selectType":"ALL"}
- res = requests.post(url1, headers=headers, data=payload)
- #print res.text
- soup = BS(res.text)
- #print soup.select('.board_trad')[0].text
- #tb = soup.select('#main-content')
- #print tb
- #tb = soup.findAll('table')
- soup = soup.select('table')[1]
- #print tb
- for ta in soup.select('tr')[3:]:
- print ta.select("td")[0].text,ta.select("td")[1].text,ta.select("td")[2].text,ta.select("td")[3].text,ta.select("td")[4].text,ta.select("td")[5].text,ta.select("td")[6].text,ta.select("td")[7].text,ta.select("td")[8].text,ta.select("td")[9].text,ta.select("td")[10].text,ta.select("td")[11].text,ta.select("td")[12].text,ta.select("td")[13].text,ta.select("td")[14].text
複製代碼 這是結果。只po前幾段
0050 元大台灣50 194 104 0 1,056 1,146 194,125 0 5 0 496 501 194,125 19
0051 元大中型100 0 0 0 2 2 4,500 0 0 0 0 0 4,500 0
0052 FB科技 0 0 0 0 0 2,000 0 0 0 0 0 2,000 0
0053 元大電子 0 0 0 0 0 3,247 0 0 0 0 0 3,247 0
0054 元大台商50 0 0 0 0 0 4,656 0 0 0 0 0 4,656 0
0055 元大MSCI金融 20 5 0 622 637 17,163 0 4 0 118 122 17,163 0
0056 元大高股息 7 1 0 94 100 67,508 4 0 0 25 21 67,508 3
0057 FB摩台 0 0 0 0 0 2,006 0 0 0 0 0 2,006 0
0058 FB發達 0 0 0 0 0 1,299 0 0 0 0 0 1,299 0 |
|