[問題] 讀取網頁遭遇404 not found
請問關於一個抓取網頁的情況,不知道該如何解決,
我想抓證交所上面的股票資料,
所以批次去抓,
過程中會遭遇某些網頁在抓取的時候出現404 not found的情況,
我有把他的連結print出來看是正確的,
但是抓取網頁時有反應404訊息的部份,
直接點選連結透過瀏覽器打開也會失敗而找不到網頁。
舉個例子來講: "假設"下面這個網頁本來是打不開的(即程式抓取時反應404情況的網頁):
http://www.twse.com.tw/ch/trading/exchange/STOCK_DAY_AVG/
genpage/Report201208/201208_F3_1_8_5203.php?STK_NO=5203&myear=2012&mmon=02
此時只要透過瀏覽器回到選取股票的頁面:
http://www.twse.com.tw/ch/trading/exchange/STOCK_DAY_AVG/STOCK_DAY_AVGMAIN.php
再輸入對應的代碼5203
會得到跟上面例子一樣的連結然後"成功"開啟網頁,經過這次的成功開啟網頁之後,
程式跑到原本會遭遇404 error的情況,就不會再出現error,
但是因為我可能遭遇到300個左右的404 error,不太可能一個一個去開,
不知道是否有針對這個case的處理方式呢?
片段code如下:
site=http://www.twse.com.tw/ch/trading/exchange/STOCK_DAY_AVG/genpage/
Report201208/201208_F3_1_8_5203.php?STK_NO=5203&myear=2012&mmon=02
httplib.HTTPConnection.debuglevel = 1
opener = urllib2.build_opener()
opener.addheaders = [('User-agent', 'Mozilla/5.0')]
content = opener.open(site).read() #這邊會遭遇404 error
我後來用twisted的方式去讀也是一樣的情況,
一定要自己從輸入代碼的地方打開過連結一次之後,程式才會正確運作。
還請大家賜教
謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.134.15.126
推
09/05 21:05, , 1F
09/05 21:05, 1F
→
09/05 21:06, , 2F
09/05 21:06, 2F
→
09/05 21:06, , 3F
09/05 21:06, 3F
→
09/05 21:07, , 4F
09/05 21:07, 4F
※ 編輯: xlp 來自: 220.134.15.126 (09/05 21:07)
→
09/05 21:09, , 5F
09/05 21:09, 5F
→
09/05 21:09, , 6F
09/05 21:09, 6F
推
09/05 21:39, , 7F
09/05 21:39, 7F
Python 近期熱門文章
PTT數位生活區 即時熱門文章