返回列表 上一主題 發帖

[原創] python上市櫃三大法人買賣超日報資料下載

回復 63# zyzzyva
感謝! 終於石榴開花了!

速度非常快, 再來多個好範例學習學習。
謝謝囉!

TOP

本帖最後由 zyzzyva 於 2016-9-11 08:06 編輯

回復 62# c_c_lai
石沉大海...因為真的沒有資料XD
不知道為啥程式碼貼上的時候論壇系統會修改,下面這段
data = soup.find_all('tr',['tb__a', 'tb__b']),應該是

修改一下應該就正常了。

TOP

回復 61# zyzzyva
請教 print(d.text) 它會從哪裡顯示結果?
我按了 Shift Enter 後即石沉大海,謝謝你!

TOP

前幾天c大回覆的時候有貼了vba的code,讓我想到如果找一些在excel版的問題用python試做看看,也許有興趣的朋友可以相互參照。
抓資料很多問題想起來不困難,但像我都只做簡單的應用,經驗有限,真要做比較完整的資料爬取,撞牆的細節問題想必非常多。
最近比較有時間,剛好趁這個機會練習一下。歡迎版上的朋友一起研究討論,如果有其他使用python的前輩,也請不吝給我一些提點跟建議。
一開始我想就從這篇開始http://forum.twbts.com/thread-18259-1-2.html。
GBKEE版大已經用vba提供了很好的解決方案,但若是想換個口味還是可以用python試試看把資料爬取下來。

網址網址:http://church.oursweb.net/slocation.php?w=1&c=TW&a=&t=&p=

網頁看起來沒有什麼奇奇怪怪的javascript,如果只是要抓圖片中的簡易資料,那只要:
  1. #準備工具
  2. import requests
  3. from bs4 import BeautifulSoup

  4. #建立一個session
  5. s = requests.session()

  6. for i in range(11,14):
  7.     #網址變動的只有最後一個數字,共286頁,用range(1,287)就可以把所有數字跑過一次
  8.     #測試時請不要跑太多頁,用(1,3)、(11,14)、(280,283)之類的就好
  9.     url = 'http://church.oursweb.net/slocation.php?w=1&c=TW&a=&t=&p=' + str(i)
  10.     res = s.get(url)
  11.     #若收到的res文字為亂碼就加個encoding
  12.     res.encoding = 'utf-8'
  13.     soup = BeautifulSoup(res.text, 'lxml')
  14.         
  15.     #取得資料,我們要的資料都存在這兩種tr裡   
  16.     data = soup.find_all('tr',['tb__a', 'tb__b'])

  17.     #將資料印出
  18.     for d in data:
  19.         print(d.text)
  20.         
  21.     i += 1
複製代碼
那如果要收集詳細資料呢?那就要取得每頁裡的各個教會的連結,一個一個進去爬取。

TOP

回復 57# lpk187
回復 58# zyzzyva
應用 Pandas 試出結果了,
dfs[3][0:][1:] 的 [3] 即為指 "第三個 Table" 之意。

TOP

本帖最後由 c_c_lai 於 2016-9-8 11:27 編輯

回復 57# lpk187
回復 58# zyzzyva
ipython 的話就如 zyzzyva 大大所說的,
會存在在 C:\Users\ 登入中使用者底下。
在此向你們學到了不少 Python 的有關知識,
這亦是前陣子我為何將 Python 停擺的緣故,
謝謝你們呦!

TOP

回復 54# c_c_lai
通常我都只需要網頁裡少數的幾個數字,所以也沒有認真研究過表格的完整抓取,這vba的code看起來已經很簡潔了,
跑出來的效果也很好,如果是要放到excel裡,我會直接用您的code。L大提的pandas可以達到類似的效果,但是像這種格式比較雜的還是要做調整,
再放到excel裡頭可能還沒有這個漂亮。

TOP

回復 50# c_c_lai


    所產生的檔案會在這個所儲存程式碼下的資料夾出現
以jupyter 來說一般都在"文件"資料中

TOP

本帖最後由 c_c_lai 於 2016-9-8 10:58 編輯

回復 52# zyzzyva
回復 43# lpk187
內容是?

TOP

回復 49# c_c_lai


    是的一樣進入到python3.5資料夾的Scripts資料夾進行 安裝  
若是在其他的資料夾或根目錄下安裝,比較會錯亂,其因是安裝多個版本的開係!
有時pip不能下載安裝可以嘗試其他安裝方法 例如用 easy_install 安裝或者參考 其模塊的官網說明

TOP

        靜思自在 : 時時好心就是時時好日。
返回列表 上一主題