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

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

¥»©«³Ì«á¥Ñ koshi0413 ©ó 2016-9-12 20:33 ½s¿è

¤p§Ì§Ú²×©ó¥i¥H¦^ÂФF¡A·P°Ê!!
³o¤å³¹§Ú°l«Ü¤[¤F python ¤]¬O¬Ý¨ì³o½g¤~¶}©l¾Çªº¡A
¦b¦¹½×¾Â¾Ç¤F¤£¤Övba  ¤]¬Ý¤F¨Çc_c_lai ¾Ç¨ì¤£¤Ö¡A­è¦n¬Ý¨ìc_c_lai¦³´£°Ý¡A¨Ó³øµª¤@¤U
¤U­±¬° c_c_lai  ¤§»Ý¨D¡A¤U¸ücsv«Ü¤è«K¡A¤]«Ü§Ö!!!  ¦ý¶×¤J SQL³Â·Ð¡A­n¦bÂà½X¡A¬G¤p§Ì·|¿ï¾Üª½±µ´£¨ú¡]¨ä¹ê¬OÁÙ¤£·|¥Îpythonª½±µÂàcsv½X¦b¦Û°Ê¶×¤JSQL¡^
ps:¥N½X¬°zyzzyva­×§ïª©
pps:·½½X¤¤¬q¸¨¦³ # ¬Ò¬°´£¨úºô­¶®É¡A¤ÏÂйêÅç¥Î¡A³oºô­¶¬°¤F´£¨ú©Ò¦Ó¬q¸¨¤]ªá¤F¤@¤p®É¨Ó¸Õ¦UºØºô­¶¥N½X¨Ó¥ÎBeautifulSoup´£¨ú
  1. # -*- coding: utf-8 -*-
  2. import requests
  3. import time
  4. import os
  5. from bs4 import BeautifulSoup as BS
  6. from datetime import date

  7. headers = {"User-Agent":"Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.112 Safari/537.36"}
  8. url1 = "µ¥¯Å¤£°÷¡Aºô§}½Ð¦Û¦æ¿é¤J"
  9. payload = {"download":'',
  10.             "qdate":'105/09/10',
  11.             "selectType":"ALL"}
  12. res = requests.post(url1, headers=headers, data=payload)
  13. #print res.text

  14. soup = BS(res.text)
  15. #print soup.select('.board_trad')[0].text
  16. #tb = soup.select('#main-content')
  17. #print tb
  18. #tb = soup.findAll('table')
  19. soup = soup.select('table')[1]
  20. #print tb
  21. for ta in soup.select('tr')[3:]:
  22.     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
½Æ»s¥N½X
³o¬Oµ²ªG¡C¥upo«e´X¬q
0050   ¤¸¤j¥xÆW50       194 104 0 1,056 1,146 194,125 0 5 0 496 501 194,125 19
0051   ¤¸¤j¤¤«¬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   ¤¸¤j¹q¤l         0 0 0 0 0 3,247 0 0 0 0 0 3,247 0
0054   ¤¸¤j¥x°Ó50       0 0 0 0 0 4,656 0 0 0 0 0 4,656 0
0055   ¤¸¤jMSCIª÷¿Ä     20 5 0 622 637 17,163 0 4 0 118 122 17,163 0
0056   ¤¸¤j°ªªÑ®§       7 1 0 94 100 67,508 4 0 0 25 21 67,508 3
0057   FB¼¯¥x           0 0 0 0 0 2,006 0 0 0 0 0 2,006 0
0058   FBµo¹F           0 0 0 0 0 1,299 0 0 0 0 0 1,299 0

TOP

¦^´_ 104# c_c_lai

soup.select('table')[1] ¬°¦ó¬O [1]¡H
ºô­¶¥N½X¤¤¡A¨ú²Ä¤G­Ó'table'

soup.select('tr')[3:] ªº [3:]
ºô­¶¥N½X¤¤¡A¨ú²Ä¤T­Ó'tr'

²Ä¤@¡B¤G­Ó¬°¼ÐÃD¡A¤p§Ìª½±µ¶×¤Jsql¡A©Ò¥H¤£»Ý­n³o¤G¶µ¥Ø¡A©Ò¥H¨S´£¨ú~~
z¤j¦³³Ì·s¦^¤å¡A¥Lªº¥N½X¤ñ¸û¥¿½T¡A¤p§Ìªº¥N½X³£¬O²©ö«¬ªº¡A¥u­n¨ú¨ì¸ê®Æ¯à¾É¤Jsql§Y¥i

TOP

¹ï¤F   ­Ó¤Hıªº³o¬q¥i¥H¹³vba¤@¼Ë¥Î i = 1 to 14 ¨Ó°j°éªí¥Ü
¥u¬OÁÙ¤£·|¥Î

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

TOP

¦^´_ 110# c_c_lai

c¤j¡A¥u­n¯à¹F¨ì¥Øªº§Y¬O¦n¤èªk¡A¨ä¥¦¬ÛÃö¥N½X¥u¬O¨C­Ó¤H¤è¦¡¤£¦P
zyzzyva¤j & lpk187¤j ¬°µeªíÂà¥X CSV  ³o¤è¦¡«Ü¦n¡A¹ï©ó¥ÎEXCELªí®æ¨Ó»¡¬O¤@¤j¦n¨Æ
¦óªp c¤j¦bvba¤¤®¼¬¡ÅDªº^^
vba§Ú¤]¬O¬ÝµÛ§A­Ìªº¤å³¹ºCºC¾Çªº~

¥»¨Ó¤]¬O·Q§â´£¨úªºÀÉ®×Âà¦scsv
¦ý¬Ý¨ìcsv to sql¦³³\¦hÂà½X°ÝÃD¡A¬G¤~ª½±µ±qpython¶×¤Jsql

¬Ý¨ì¤¶²Ð SQL¦n¹³¥i¥H¦hªíÁp¦X¬d¸ßÅã¥Ü¤§Ãþ¡A¤~¥h¸Iªº(­è¸I¡A¥Ø«e¥u·|Python¶×¤Jsql¡Asql ¶×¥X¦ÜEXCEL)
¤£¦PÀɮצhªíÁp¦X¬d¸ß  EXCEL À³¸Ó¤]¥i¥H§a¡H   ¨S¸Õ¹L¡AÀ³¸Ó­n¥Îvba??

½Ð±Ð°Ý¤@¤Usql¥i¥H©Ô¸ê®Æ¦ÜEXCEL¡A¦A¥ÎEXCELµe¹Ï
¹ï©óvbaµe¹Ï³o¶ô¡A¤§«á¥i¯à­n½Ðc¤j«üÂI¤F@@
ÁöµMpython¤]¥i¥Hµe¹Ï¡A¦ý¾ã¦X©Ê¤£ª¾¹D¦³¨S¦³®t¡AÁÙ¨S¬ã¨s¹L¡A©Ò¥HÁÙ¬O¥ý¿ï³Ì¤F¸ÑªºEXCEL¨Ó¾ã¦X

TOP

¦^´_ 109# lpk187
import io

¤p§Ìªº®M¥ó¿ù»~¡AµLªk°õ¦æ¡A¦Ó¥B¥Î conda install io ¸Ë¤£°_¨Ó¡A¤Ó¯«©_¤F
¤U¯Z«á¦A¨Ó¸Õ pip install io or easy install io ¸Õ¸Õ

TOP

¥»©«³Ì«á¥Ñ koshi0413 ©ó 2016-9-13 09:36 ½s¿è

¦^´_ 113# c_c_lai


©Ò¥H¤p§Ì©ñ±ó³oºØ¼gªk¡A¥ý¥Î¤âºCºCkey¡AÁöµM«Üªü§b¡ã«¢«¢
­n¸Ñªººô­¶¤Ó¦h¤F¡A©Ò¥H¸Ñ±¼¤@­Ó°¨¤W¸Ñ¤U¤@­Ó
µ¥§â©Ò»Ýºô­¶¥þ¸Ñ§¹«á¦b¥þ¥[¤J®É¶¡°j°é+­ÓªÑ¥N¸¹°j°é¤U¥h¶]
µe¹Ï¬O¦b¤U¤@¨B¡A¨ì®É¦b¨Ó¬ã¨s~

TOP

¦^´_ 122# lpk187


¤p§Ì¦b¬ã¨s¤@¤U¡A©I¥s¥X¿ù¡AºÃ°Ý?

TOP

¦^´_ 116# zyzzyva


    for ta in soup.select('tr')[3:10]:
    for i in xrange(15):
        print(ta.select("td").text, end='\t')
    print('\n')

«D±`·PÁÂz¤j´£¨Ñ¡A¦ý¤£ª¾¹D¬O¤£¬Oª©¥»°ÝÃD  ¥[¤W , end='\t'  ³o¥y´N¥X¿ù¡A®³±¼´Nok @@
python2.7

TOP

¦^´_ 122# lpk187

l¤j¡A¤p§Ì¬Ý¿ù¤F¡A¬O¥d¦b³o¦æ¡A¦³¯Ê®M¥ó¡H

UnicodeEncodeError                        Traceback (most recent call last)
<ipython-input-9-9847a49d90d1> in <module>()
     15 deta=tbl[1]
     16 deta.columns = ['ªÑ²¼¥N¸¹','ªÑ²¼¦WºÙ','¶R¶i','½æ¥X','²{ª÷ÀvÁÙ','«e¤é¾lÃB','¤µ¤é¾lÃB','­­ÃB','¶R¶i','½æ¥X','²{¨éÀvÁÙ','«e¤é¾lÃB','¤µ¤é¾lÃB','­­ÃB','¸ê¨é¤¬©è','µù°O']
---> 17 deta.to_csv('test1.csv')

C:\Users\Koshi\Anaconda2\lib\site-packages\pandas\core\frame.pyc in to_csv(self, path_or_buf, sep, na_rep, float_format, columns, header, index, index_label, mode, encoding, compression, quoting, quotechar, _terminator, chunksize, tupleize_cols, date_format, doublequote, escapechar, decimal, **kwds)
   1342                                      doublequote=doublequote,
   1343                                      escapechar=escapechar, decimal=decimal)
-> 1344         formatter.save()
   1345
   1346         if path_or_buf is None:

TOP

¦^´_ 129# lpk187


    ---> 17 deta.to_csv('test1.csv')

³£¬O¥d¦b³o¦ê¡A¤£·|¤S¬Oª©¥»°ÝÃD§a!!!!  ¤p§Ì 2.7  l¤j¬O3.x ¡H

¤£¹L­è¤~¦b¸ê®Æ§¨¦³¬Ý¨ì test1.csv
¤º®e¬°¡G?¡ç¥¨ä»??        ?¡ç¥¨?¨±        è²·é€?è³?        ?¾é???        ?é¤?        ä»é¤?        ??        è²·é€?è³?        ?¾å??        ?é¤?        ä»é¤?        ??        è³äº        註è?
¤]³\¬O½s½X°ÝÃD¡H

µo²{¨ì¡A¦n¹³¤p§Ì¸Õ§A­Ìªº¥N½X°ÝÃD¸û¦h¡A¯«©_

TOP

        ÀR«ä¦Û¦b : ¦n¨Æ­n´£±o°_¡A¬O«D­n©ñ±o¤U¡A¦¨´N§O¤H§Y¬O¦¨´N¦Û¤v¡C
ªð¦^¦Cªí ¤W¤@¥DÃD