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

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

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

¥i¥Î¨Ó¤U¸ü¤W¥«Âd¤T¤jªk¤H¶R½æ¶W¤é³ø¸ê®Æ¡C»PpyÀɦP¤@¸ô®|¤Uªºpath.ini¥i³]©wcsv¦s©ñ¦ì¸m¡Aª`·N¸ô®|­n¥]¬A³Ì«á¤@­Ó"\"¡A¦p¡GC:\user\desktop\test\¡C
ªþ¤W°õ¦æÀÉ
  1. import requests
  2. import time
  3. import os

  4. mydate = time.strftime("%Y/%m/%d")
  5. year = str(int(mydate[0:4])-1911)
  6. mydate2 = mydate.replace(mydate[0:4],year)

  7. setting = os.getcwd() + "\\" + "path.ini"

  8. if os.path.exists(setting):
  9.     with open(setting, 'r') as r:
  10.         path = r.read()
  11.     if not os.path.exists(path):
  12.         os.makedirs(path)
  13. else:
  14.     path = ""

  15. headers = {"User-Agent":"Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.112 Safari/537.36"}


  16. url1 = "http://www.twse.com.tw/ch/trading/fund/T86/T86.php"
  17. payload1 = {"download": "csv",
  18.             "qdate": mydate2,
  19.             "select2": "ALLBUT0999",
  20.             "sorting": "by_issue"}

  21. res1 = requests.post(url1, headers=headers, data=payload1, stream=True)

  22. fName1 = path + mydate.replace("/","") + ".csv"

  23. with open(fName1, 'wb') as f1:
  24.     for chunk in res1.iter_content(1024):
  25.         f1.write(chunk)


  26. url3 = "http://www.tpex.org.tw/web/stock/3insti/daily_trade/\
  27. 3itrade_hedge_download.php?l=zh-tw&se=EW&t=D&d=" + mydate2 + "&s=0,asc,0"

  28. res3 = requests.get(url3, headers=headers, stream=True)

  29. fName3 = path + "BIGD_" + mydate2.replace("/","") + ".csv"

  30. with open(fName3, 'wb') as f3:
  31.     for chunk in res3.iter_content(1024):
  32.         f3.write(chunk)


  33. url2 = "http://www.twse.com.tw/ch/trading/exchange/MI_INDEX/MI_INDEX.php"
  34. payload2 = {"download": "csv",
  35.             "qdate": mydate2,
  36.             "selectType": "ALLBUT0999"}

  37. res2 = requests.post(url2, headers=headers, data=payload2,stream=True)

  38. fName2= path + "A11" + mydate.replace("/","") + ".csv"

  39. with open(fName2, 'wb') as f2:
  40.     for chunk in res2.iter_content(1024):
  41.         f2.write(chunk)
  42.         

  43. url4 = "http://www.tpex.org.tw/web/stock/aftertrading/otc_quotes_no1430/\
  44. stk_wn1430_download.php?l=zh-tw&d=" + mydate2 + "&se=EW&s=0,asc,0"

  45. res4 = requests.post(url4, headers=headers, data=payload2,stream=True)

  46. fName4 = path + "SQUOTE_EW_" + mydate2.replace("/","") + ".csv"

  47. with open(fName4, 'wb') as f4:
  48.     for chunk in res4.iter_content(1024):
  49.         f4.write(chunk)
½Æ»s¥N½X

¦^´_ 2# VBALearner
±z¹L¼ú¤F¡C³o­Ó¬Opythonªºcode¡A¦pªG¨S¦³¦w¸Ëpython¡A¥i¥H¤U¸ü°õ¦æÀÉ¡A¦A¦bvba¸Ì¥Îshellªº¤è¦¡°õ¦æ¡C
§ìºô¸ô¸ê®Æ¤è­±pythonÁÙº¡¦n¥Îªº¡Aºô¸ô¤W¸ê·½«Ü¦h¡A§Ú¤]¬O¬°¤F§ì¸ê®ÆªF¾Ç¤@ÂI¦è¾Ç¤@ÂI¡A®³§O¤HªºªF¦è­×­×§ï§ï¡C§ä®É¶¡¦A¸É¤Wµù¸Ñ¡AÀ³¸Ó·|¤ñ¸û²M·¡¡C

TOP

¦^´_ 5# c_c_lai

À³¸Ó¬O¦]¬°§Ú¨S¦³³B²z®É¶¡(¤U¸üªº¤é´Á¬Oª½±µ¨ú·í¤éªº¤é´Á)¡A¦pªG¬O¸ê®ÆÁÙ¨S¥X¨Óªº®É­Ô°õ¦æ¤U¸ü´N·|¥X²{°ÝÃD¡C
½Ð¦b³Ä±ßªº®É¶¡¦A¸Õ¸Õ¬Ý¡C

TOP

¦^´_ 1# zyzzyva
¸É¤Wµù¸Ñ¡C
  1. #¶×¤J¼Ò²Õ(requests»Ý¥t¥~¦w¸Ë¡A¤]¥i¨Ï¥Îurllib2)
  2. import requests
  3. import time
  4. import os

  5. #¨ú±o·í«e¤é´Á
  6. mydate = time.strftime("%Y/%m/%d")

  7. #±N¦è¤¸¦~Âର¥Á°ê¦~
  8. year = str(int(mydate[0:4])-1911)

  9. #±N¥Á°ê¦~¨ú¥N¤é´Á¤¤¤§¦è¤¸¦~
  10. mydate2 = mydate.replace(mydate[0:4],year)

  11. #os.getcwd()¨ú±o·í«e¸ô®|
  12. setting = os.getcwd() + "\\" + "path.ini"

  13. #Àˬdpath.ini¬O§_¦s¦b¡A­Y¦³«h±Ncsv¦sÀɤ§¸ô®|Ū¤J
  14. if os.path.exists(setting):
  15.     with open(setting, 'r') as r:
  16.         path = r.read()
  17.     #­Ycsv¦sÀɤ§¸ê®Æ§¨¤£¦s¦b«h«Ø¥ß¸ê®Æ§¨
  18.     if not os.path.exists(path):
  19.         os.makedirs(path)

  20. #­Ypath.ini¤£¦s¦b«h±Npath³]¬°ªÅ¦r¦ê
  21. else:
  22.     path = ""

  23. #³]©wheader
  24. headers = {"User-Agent":"Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.112 Safari/537.36"}

  25. #³]©wurl
  26. url1 = "http://www.twse.com.tw/ch/trading/fund/T86/T86.php"

  27. #³]©wpost¬d¸ß¤§¸ê®Æ
  28. payload1 = {"download": "csv",
  29.             "qdate": mydate2,
  30.             "select2": "ALLBUT0999",
  31.             "sorting": "by_issue"}

  32. #µo¥Xrequest¨Ã±Nºô¯¸¦^ÂФ§¸ê®Æ¦s¤Jres1ÅܼƤ¤
  33. res1 = requests.post(url1, headers=headers, data=payload1, stream=True)

  34. #³]©wcsvÀɮפ§¸ô®|»PÀɦW
  35. fName1 = path + mydate.replace("/","") + ".csv"

  36. #±Nres1ªº¸ê®Æ¼g¤Jcsv¤¤
  37. with open(fName1, 'wb') as f1:
  38.     for chunk in res1.iter_content(1024):
  39.         f1.write(chunk)
½Æ»s¥N½X

TOP

¦^´_ 8# c_c_lai
¥u­n¦w¸Ërequests´N¥i¥H¤F¡C

TOP

¦^´_ 11# c_c_lai
±z¤Ó«È®ð¤F¡A¦³¿³½ì¥i¥H¤@°_¬ã¨s¡C¤]¹w¯¬±z¤â³N¶¶§Q¡A¦­¤é±d´_¡C

TOP

¦^´_ 13# VBALearner
¬Oªº¡A¨º¬Orequests¼Ò²Õªº¤å¥ó¨S¿ù¡C
¤º«Øªºurllib¼Ò²Õªº¥\¯à¤]®t¤£¦h¡A¦ý¬O§Úı±orequests¤ñ¸û¦n¥Î¤@ÂI¡C

TOP

¦^´_ 15# hanson09 §Úªº¬O3.4¡A3.5°õ¦æÀ³¸Ó¨S¦³°ÝÃD(¦]¬°§Ú¨S¦³³B²z®É¶¡¡A©Ò¥H­n¥æ©ö¤éªº¤U¤È¸ê®Æ¥X¨Ó«á°õ¦æ¡A§ì¨ìªºÀɮפ~·|§¹¾ã¡C)§A¬O°õ¦æ¹L¤£¤F¡AÁÙ¬O§ì¤£¨ì§¹¾ãÀÉ®×?¦³¿ù»~°T®§¶Ü?

TOP

¦^´_ 17# hanson09 §Ú¬O¥ÎCx_freeze,²³æªºµ{¦¡À³¸Ó³£¥i¥H¡A¦ý¦pªGµ{¦¡¤¤¦³¥Î¨ì¬Y¨Ç®M¥ó¡A¹³tinker©Îlxml¤§Ãþªº¡A¥i¯à´N·|¦³°ÝÃD¡C¾Çpython¤@¶}©l¬O¤u§@¤W»Ý­n(­n§ì¤@¨ÇÄw½X¸ê®Æ),¦ÑÁ󮳤F¤@¥»®Ñµ¹§Ú¡A¥sµáµ·®¦±Ð§A¾Ç·|python,¹ï°ò¥»»yªk¦³¤@¨Ç·§©À¥H«á¡A´N¬O¬Ýºô¸ô¤Wªº±Ð¾Ç¡A­n¥Î¨ì¤°»ò´N¬Ý¤°»ò¡A¬Ý¤F¤@¨Çı±oÁöµM¦³¾Ç¨ì¤@ÂI¥Ö¤ò¡A¤£¹LÁÙº¡¨S¦³¨t²Îªº¡A©Ò¥H¤]¶R¤F¤@¨Ç®Ñ¡A¦³ªº¤º®e¬Ý±oÀ´¡A¦³¨Ç¤@ª¾¥b¸Ñ¡A¥Ø«e´N¬OºCºC¬Ý¡A·Q»¡¦h¬Ý¤§«á¥i¯à´N·|À´¤F¡C

TOP

¥»©«³Ì«á¥Ñ zyzzyva ©ó 2016-8-30 23:25 ½s¿è

¦^´_ 19# VBALearner
cx_freeze¦b¥]ªº®É­Ô´N·|§â¦³¥Î¨ìªº®M¥ó¥]¶i¥h¡A©Ò¥H¨ä¥L¤H¥¿±`¨Ó»¡À³¸Óª½±µ´N¥i¥H¨Ï¥Î¤F¡Cpython¤]¦³¤Ï²ÕĶªº¤u¨ã¡A¦ý§Ú¨S¥Î¹L¡A©Ò¥H¸Ô²Ó±¡ªp¤£¤Ó¤F¸Ñ¡A¦pªG­n§ï¼gÀ³¸Óª½±µ¥Î§Úpoªºcode§ï¤ñ¸û¤è«K¡C
­nÂàexeÀɪº®É­Ô¡A°£¤F­nÂ઺ÀÉ®×(°²³]ÀɦW¬°test.py)¡AÁÙ­n¥t¥~·Ç³Æ¤@­ÓpyÀÉ(°²³]ÀɦW¬°setup.py)©ñ¦b¦P¤@­Ó¥Ø¿ý¤U¡A¤º®e¤j·§¬O¹³³o¼Ë¡G
  1. from cx_Freeze import setup, Executable

  2. setup(name='µ{¦¡ªº¦W¦r',
  3.       version='ª©¥»¸¹',
  4.       description='²³æªº´y­z',
  5.       option={"build.exe"},
  6.       executables=[Executable("test.py")])
½Æ»s¥N½X
µM«á¦bÀɮשҦb¥Ø¿ý¤U¶}±Òcmd¡A°õ¦æsetup.py build¡A¦¨¥\ªº¸Ü¦b¦P¤@­Ó¥Ø¿ý¤U´N·|¦³¤@­Óbuild¸ê®Æ§¨¡A¸ÌÀY´N¬O§Ú­Ì­nªºªF¦è¡C
¨ä¹ê§Úı±opython¤Jªù¤£·|¤ñvba§xÃø­C¡A¦³vbaªº¸gÅç¡A§Ú·QÀ³¸Ó«Ü§Ö´N·|¤W¤â¤F¡CÁöµM§ÚÀ´ªº¤]«Ü¦³­­¡A¦ý¦³¤°»ò°ÝÃDÅwªï´£¥X¨Ó¡A¤j®a¥i¥H¤@°_¬ã¨s¡C

TOP

        ÀR«ä¦Û¦b : ¥@¤W¦³¨â¥ó¨Æ¤£¯àµ¥¡G¤@¡B§µ¶¶ ¤G¡B¦æµ½¡C
ªð¦^¦Cªí ¤W¤@¥DÃD