ªð¦^¦Cªí ¤W¤@¥DÃD µo©«

[­ì³Ð] python¤W¥«Âd¤T¤jªk¤H¶R½æ¶W¤é³ø¸ê®Æ¤U¸ü

¦^´_ 102# c_c_lai
´£¨Ñ¥t¤@ºØ¤è¦¡µ¹±z°Ñ¦Ò(¸ÑªRºô­¶«á³B²z¸ê®Æ¦A¦s¦¨csv)
  1. import requests
  2. from bs4 import BeautifulSoup
  3. import csv

  4. headers = {"User-Agent":"Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.112 Safari/537.36"}
  5.            
  6. url = 'http://www.twse.com.tw/ch/trading/exchange/MI_MARGN/MI_MARGN.php'

  7. myDate = '105/09/08'

  8. payload={'download':'',
  9.         'qdate':myDate,
  10.         'selectType':'ALL'}

  11. res = requests.post(url, headers=headers, data=payload)
  12. soup = BeautifulSoup(res.text, 'lxml')

  13. trs = soup.select('table tr')

  14. myList = []
  15. subList = []

  16. header1 = ['ªÑ²¼¥N¸¹','ªÑ²¼¦WºÙ','¿Ä¸ê(³æ¦ì: ¥æ©ö³æ¦ì)','','','','','',
  17.             '¿Ä¨é(³æ¦ì: ¥æ©ö³æ¦ì)','','','','','','¸ê¨é¤¬©è','µù°O']

  18. header2 = ['','','¶R¶i','½æ¥X','²{ª÷ÀvÁÙ','«e¤é¾lÃB','¤µ¤é¾lÃB','­­ÃB',
  19.             '¶R¶i','½æ¥X','²{ª÷ÀvÁÙ','«e¤é¾lÃB','¤µ¤é¾lÃB','­­ÃB','','']

  20. for i, tr in enumerate(trs):
  21.     if i == 6:
  22.         subList = header1
  23.     elif i == 7:
  24.         subList = header2
  25.     else:
  26.         for td in tr.find_all('td'):
  27.             subList.append(td.text)
  28.    
  29.     myList.append(subList)
  30.     subList = []
  31.     if i == 5:
  32.         myList.append(subList)

  33. with open('output.csv', 'w', new='', encoding='utf-8') as f:
  34.     f.write('\ufeff')
  35.     w = csv.writer(f)
  36.     for sub in myList:
  37.         w.writerow(sub)
½Æ»s¥N½X
¦pªG¤£¨D¬üÆ[¡A¥i¥Hª½±µ¥Îpandas¡G
  1. import requests
  2. import pandas as pd

  3. headers = {"User-Agent":"Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.112 Safari/537.36"}
  4.            
  5. url = 'http://www.twse.com.tw/ch/trading/exchange/MI_MARGN/MI_MARGN.php'

  6. myDate = '105/09/07'

  7. payload={'download':'',
  8.         'qdate':myDate,
  9.         'selectType':'ALL'}

  10. res = requests.post(url, headers=headers, data=payload)

  11. dfs = pd.read_html(res.text)

  12. #¦bipython¡Adfs[1]´N¥i¥H¨ú¥X¥D­nªº¸ê®Æ
  13. dfs[1]
½Æ»s¥N½X

TOP

¦^´_ 108# koshi0413
pythonªº»yªk¬O¡G¡ufor i in range(15):¡v¡A¥[¤W´«¦æ¸ò¹ï»ô¡A±z³o¬q¥N½X¥i¥H²¤¬°­×§ï¦¨
  1. for ta in soup.select('tr')[3:10]:
  2.     for i in range(15):
  3.         print(ta.select("td")[i].text, end='\t')
  4.     print('\n')
½Æ»s¥N½X

TOP

¦^´_  koshi0413
pythonªº»yªk¬O¡G¡ufor i in range(15):¡v¡A¥[¤W´«¦æ¸ò¹ï»ô¡A±z³o¬q¥N½X¥i¥H²¤¬°­×§ï¦¨
zyzzyva µoªí©ó 2016-9-13 09:50

§Ñ¤F±zªº¬O2.xª©ªº¡A¼Æ¦r¤pªº¸Ü¨S¤°»ò®t§O¡A¼Æ¦r¤jªº¸Ürange­n§ï¦¨xrange

TOP

¦^´_ 119# c_c_lai
¤@¯ëµe¹Ï³£¬O¥Îmatplotlib¡A¦bipythonªº¸Ü¥u­n¥Î¡u%pylab in¡v¡A¤§«á´N¥i¥Hª½±µplot(x,y)¡C
test = range(50)
plot(temp)
´Nµe¥X¤@±øª½½u¡C
µe¹Ï¨ä¹ê§Ú¤]¤£¼ô¡A¥i¥H¤@°_¬ã¨s¤@¤U¡C
³o­Óºô­¶ªº¸ê®Æº¡¦hªº¡A¤£ª¾¹D±z¬O·Qµe¤°»ò¼Ëªº¹Ïªí¡H

TOP

¥»©«³Ì«á¥Ñ zyzzyva ©ó 2016-9-13 13:35 ½s¿è

¦^´_ 121# c_c_lai
³o¸Ì¦³¬Ý¨ì¤@­Ó½d¨Ò¡A§Ú´ú¸Õ¬O¥i¥Hwork¡A¥¿¦b¬ã¨s¡A¦³¿³½ìªºªB¤Í¥i¥H¤@°_°Ñ¦Ò¡C
https://pythonprogramming.net/candlestick-ohlc-graph-matplotlib-tutorial/
¶¶±a¤@´£¡A¥L¤]¦³¤@®Mpython¤Jªùªº¤¶²Ð¼v¤ù¡AÁ¿±o«Ü²M·¡¡A²[»\ªº½d³ò¤]º¡¼sªº¡A§Ú«Ü³ßÅw¡C
matplotlib©xºô¤]¦³¤@¨Ç½d¨Ò¡A¥i¥H¤@¨Ö°Ñ¦Ò¡C
http://matplotlib.org/examples/pylab_examples/finance_demo.html

TOP

¦^´_ 126# koshi0413
À³¸Ó¬Oª©¥»ªº°ÝÃD¡A2.7ªºprint»yªk¤£¤Ó¤@¼Ë¡C
¸Õ¸Õ¬Ý¡G
  1. for ta in soup.select('tr')[3:]:
  2.     for i in xrange(15):
  3.         print '%s' %ta.select('td')[i].text + '\t',
  4.     print '\n'
½Æ»s¥N½X

TOP

¦^´_ 132# koshi0413
«ü©w½s½X¸Õ¸Õ¬Ý¡C
deta.to_csv('test1.csv', encoding='utf-8')

TOP

¦^´_ 154# koshi0413
¤£¿ùªº¤å³¹¡AÁÂÁ¤À¨É¡C
¤j¶qª¦¨úªº®É­Ô¥[¶i¤@¨Çsleep«Ü¦n¡AÁקKµu®É¶¡¤j¶qrequest³y¦¨ºô¯¸¹L¤jªº­t¾á¡C
selenium+phantomJSªº²Õ¦X¥i¥HÁô§ÎÂsÄý¾¹¡A¤£¹L¦pªG¤£¤¶·N¡A¥Îfirefox©Îchrome¤]¥i¥H¡C

TOP

¦^´_ 157# c_c_lai
±z¬O°õ¦æ¤°»ò¯S©w«ü¥Oªº®É­Ô·|·í±¼ÁÙ¬O¤@¶}´N·í±¼¡H
¦³§ó·s©Î¦w¸Ë·sªºÀô¹Ò©Î®M¥ó¶Ü¡H¦³¨S¦³¨ä¥Lªº¿ù»~°T®§¡H

TOP

¦^´_ 159# c_c_lai
¦bcmd©³¤U°õ¦æjupyter kernelspec list¦³¦^À³¶Ü¡H

TOP

        ÀR«ä¦Û¦b : ª¾ÃÑ­n¥Î¤ßÅé·|¡A¤~¯àÅܦ¨¦Û¤vªº´¼¼z¡C
ªð¦^¦Cªí ¤W¤@¥DÃD