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

[µo°Ý] Ãö©óºô­¶¸ê®Æ§ì¨ú°ÝÃD

¥»©«³Ì«á¥Ñ VBALearner ©ó 2017-2-10 21:24 ½s¿è

¦^´_ 18# sujane0701
¦^´_ 20# c_c_lai

À³C¤jªº´Á«Ý¡A¥[¤J²Ä¤G¦¸POST¡A§¹½Z¡C
·Q·íªìC¤j¤]¦^À³§Ú³\¦hVBAªº§C¯à°ÝÃDxD¡A°O±o·í®É§ÚPO¤F¤@½g¤À¨É¤å"¤T¤jªk¤H¶R½æ¶W¸ê®Æ¾ã²z..."¡Aµ²ªG´N¦³°ª¤â¥ÎPython§â¦Û°Ê¤U¸üExcelªºµ{¦¡½X¶K¥X¨Ó¡A¤Þµo´X¤Q­¶ªº¼ö¯P°Q½×¡C­Y¤£¬O°ª¤âµL¨p¤À¨É¡B¥O§Ú¹ïPython»y¨¥¤j¶}²´¬É¨Ã²£¥Í°ª«×¿³½ìªº¸Ü¡A§Ú«K¤£·|¥h¾Ç²ßPy¡A¥i¯àÁÙ°±¯d¦bVBA§a... ¦]¦¹¡A§¹¾ãªºµ{¦¡½XS¤j¡BC¤j½Ð¨É¥Î¡A¨Ã¹ªÀyPy°ª¤â¹ï§Úªºµ{¦¡½X´£¥X«Ø¨¥¡AS¤j±z±µ¤U¨Ó¥u»Ý­n§â¸ê®Æ¦s¦¨Excel¡A³o¤@¨B«Ü²³æ¡Aºô¸ô§ä§ä§a¡A¥[ªo¡C
  1. import requests
  2. import time
  3. from bs4 import BeautifulSoup

  4. postfreq = 0.8 #ÁקK¹L«×ÀWÁcªº³X°Ý³Q·í¦¨´c·Nµ{¦¡§ðÀ»(Ãþ¦ü¤p«¬DDOS)¡A¬í¼Æ¶¡¹j³X°Ý¬Oª¦ÂΪº°ò¥»Â§»ª

  5. #¶È¥H¨âµ§¥D´£³æ¸¹½X¥Ü½d¡A±ý¼W¥[¦Û¦æ§ó§ï§Y¥i
  6. ¥D´£³æ¸¹½X = ['160-69306532','608-10318674'] #,'851-26325773','479-32003532','695-08802916','297-64647785']

  7. with requests.session() as r:
  8.     res = r.get('https://accs.tradevan.com.tw/accsw-bin/APACCS/userLoginAction.do?userid=GUEST&password=GUEST')
  9.     for code in ¥D´£³æ¸¹½X:
  10.         print('¥D´£³æ¸¹½X :',code,'\n')
  11.         time.sleep(postfreq)
  12.         payload = {'mawb_no':code,'¬d¸ß':'¬d¸ß'}
  13.         res = r.post("https://accs.tradevan.com.tw/accsw-bin/APACCS/cImMergeQueryAction.do", data=payload) #²Ä¤@¦¸³X°Ý
  14.         res.encoding = "big-5"
  15.         html = BeautifulSoup(res.text,"html.parser")
  16.         num = 1
  17.         for tr in html.body.select('table')[4].select('tr')[1:]: #§âTable¸Ìªºtr¸ê®Æ³v¦C¨ú¥X
  18.             summary = [] #«Ø¥ßºK­n¸ê°Tªº¦s©ñ°}¦C
  19.             postdata = [] #¤G¦¸³X°Ý©Ò»Ý°Ñ¼Æªº¦s©ñ°}¦C
  20.             for td in tr.select('td'):
  21.                 summary.append(td.text.strip())
  22.                 if td == tr.select('td')[len(tr.select('td'))-1]: #³o¸Ì¦³¤U¤@­ÓPOST©Ò»Ýªº¸ê°T(°Ñ¼Æ)¡A³z¹LÆ[¹îºô­¶­ì©l½X±oª¾
  23.                     postdata.append(str(td).split('&')[1].replace('flight_no=','')) #°Ñ¼Æ1
  24.                     postdata.append(str(td).split('&')[2].replace('flight_date=','')) #°Ñ¼Æ2
  25.                     postdata.append(str(td).split('&')[3].replace('est_arrival_date=','')) #°Ñ¼Æ3
  26.    
  27.             print('  ','ºK­n¸ê°T'+str(num),':',summary,'\n') #²Ä¤@¦¸¬d¸ß±o¨ìªººK­n¸ê®Æ
  28.             num+=1

  29.             payload = {'mawb_no':code,
  30.                        'voyage_flight_no':postdata[0],
  31.                        'est_arrival_date':postdata[2],
  32.                        'flight_date':postdata[1],
  33.                        'qry_mawb_no':code,
  34.                        'qry_sort':'0'
  35.                        }
  36.             time.sleep(postfreq)
  37.             res = r.post("https://accs.tradevan.com.tw/accsw-bin/APACCS/cImMergeListAction.do", data=payload) #²Ä¤G¦¸POST
  38.             res.encoding = "big-5"
  39.             html = BeautifulSoup(res.text,"html.parser")

  40.             print('  ','¸Ô²Ó¸ê®Æ¦p¤U :')
  41.             for tr in html.select('table')[4].select('tr'):
  42.                 data = []
  43.                 for td in tr.select('td'):
  44.                     data.append(td.text.replace('\r','').replace('\n','').replace(' ','').strip())
  45.                 print('\t',data)
  46.             print('\n')
  47.             #¹B¥Î¨ä¥L¼Ò²Õ§âª¦¨ìªº¸ê®Æ¦s¦¨Excel§Y¤j¥\§i¦¨¡A¬Æ¦Ü¥i¥H¶i¤@¨B¹B¥Îselect»yªk¿z¿ï¯S©w¦ì¸mªº¸ê®Æ
½Æ»s¥N½X
¯u¤ß·PÁ¨C¤@¦ìÄ@·N¤À¨É©Ò¾Ç¡B«ü¾É·s¤âªº¤H!

TOP

¥»©«³Ì«á¥Ñ VBALearner ©ó 2017-2-13 21:25 ½s¿è

¦^´_ 23# sujane0701

¨SÃö«Y¡A§Ú¥u§Æ±æÀ°§UÄ@·N¾Ç²ß¦Ó¤£¬O¥u¦ù¤â°Q§K¶Oµ{¦¡ªº¤H¡C
±z¬O­Ó³Qµ{¦¡«Â¤O¿Eµo¼ö±¡ªº¤H¡A¸ò¤p§Ì§Ú¤@¼Ë¡A¤p§Ì§Ú¤@¦~«e³s¤@¥yµ{¦¡½X³£¤£·|¼g¡A§Æ±æ±z«O«ù³o¥÷¼ö±¡«ùÄò¾Ç²ß¡C
±z­Y¥u­n³¡¤À¸ê®Æ¡A¥i¥H³z¹L§ó§ï¥H¤U§ÚPOªº¤T¥y»yªk¡A¥h¤@¤@¬D¥X­n¦s¨úªº¸ê®Æ¦ì¸m¡C¨Ò¦p: html.select('table')[4].select('tr')[2].select('td')[1] ¥i¥H¬D¥Xªí®æ¤¤²Ä¤T¦C±q¥ª¼Æ¨Ó²Ä¤G­Ó¸ê®ÆÂI¡A¤]´N¬O"³f´Ì"ªº¸ê®ÆÂI¡AµM«á¤@¤@¿é¤J¶i°}¦C«á¡A¦A¤@¨Ö¼g¤JExcel§Y¥i§¹¦¨§Aªº¥Ø¼Ð¡A¤u§@¶¶§Q !
  1.             for tr in html.select('table')[4].select('tr'):
  2.                 data = []
  3.                 for td in tr.select('td'):
½Æ»s¥N½X
  1. data = []
  2. data.append(html.select('table')[4].select('tr')[2].select('td')[1])
  3. data.append(html.select('table')[4].select('tr')[?].select('td')[?])

  4. with open("xxx.xlsx",xx) as excel:
  5.     #¼g¤Jªºµ{¦¡½X
½Æ»s¥N½X
¯u¤ß·PÁ¨C¤@¦ìÄ@·N¤À¨É©Ò¾Ç¡B«ü¾É·s¤âªº¤H!

TOP

¦^´_ 25# stillfish00

«õ¾a VBA±M®aµL»~
¦³ÃöVBAªºª¦Âε{¦¡¦ü¥G·¥¬°¤Ö¨£¡A´±°Ýfish¤j¬O¦b­þ¸Ì¾ÇVBAª¦ÂΪº»yªk©O?
¯u¤ß·PÁ¨C¤@¦ìÄ@·N¤À¨É©Ò¾Ç¡B«ü¾É·s¤âªº¤H!

TOP

¦^´_ 27# stillfish00

·PÁ±z! §Ú¦³ªÅ¨Ó¬ã¨s¬ã¨s¡A¶¶«K½Æ²ßVBA¡APy¼g¤[¤F³£§Ñ°O«ç»ò¼gVBA¤F= ="
¯u¤ß·PÁ¨C¤@¦ìÄ@·N¤À¨É©Ò¾Ç¡B«ü¾É·s¤âªº¤H!

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