2012-12-04 116 views
0

我在使用urllib2獲取一些庫存信息。使用Python的urllib2連接網址

我的一些代碼如下。

cap_url = "http://wisefn.stock.daum.net/company/c1010001.aspx?cmp_cd=%s" % code 
    cap_req = urllib2.Request(cap_url) 
    cap_data = urllib2.urlopen(cap_req).read() 
    ~ 
    ~ 
    ~ 
    depr_url = "http://wisefn.stock.daum.net/company/cF3002.aspx?cmp_cd=%s&frq=Q&rpt=ISM&finGubun=MAIN" % code 
    depr_req = urllib2.Request(depr_url) 
    depr_data = urllib2.urlopen(depr_req).read() 
    ~ 
    ~ 
    ~ 
    transaction_url = "http://www.shinhaninvest.com/goodicyber/mk/1206.jsp?code=%s" % code 
    transaction_data = urllib2.urlopen(transaction_url).read() 
    soup = BeautifulSoup(transaction_data, fromEncoding="utf-8") 

如您所知,%s是股票代碼。憑藉給定的股票代碼,我颳了所有的股票信息。股票代碼總數超過1,600。然後我用xlwt將收集的信息寫入Excel。

但是,我無法連接到某個網址或獲取有關我可以手動輸入該網址的信息。

有什麼問題?我怎樣才能加快抓取頁面?

+0

當你超出限制時,你很可能會刮掉你的連接,無論它們是什麼。我相信你不是第一個嘗試這個的人...... –

+0

謝謝你的解釋。現在我認爲代理服務器超出連接限制。 – trigger

回答

0

首先我會檢查網站的robots.txt文件。它很可能禁止本地python用戶代理。所以你可以考慮改變urllib2的用戶代理。其次。網站內容可能由JavaScript生成,如果是這樣,urllib2無法評估它。爲此,您可以使用Selenium驅動程序或PyQt框架或類似的程序。