2015-10-20 68 views
0

我需要從網站收集一些數據,實際上它是一些文本以供進一步分析。由於我不是網絡報廢方面的專家,因此我做了第一步,讓我的網站獲得所需的文檔。問題是,有時我可以獲取文檔,但有時會出現連接超時錯誤。所以我想爲嘗試,直到我可以得到網站的響應的方式,這是我所:python urllib2嘗試打開網址直到它工作

from html2text import * 
import urllib2 
import html2text 
from bs4 import BeautifulSoup 

id = 1 
with open("urls.txt") as f: 
    for url in f: 
     print url 
     html = urllib2.urlopen(url).read() 
     soup = BeautifulSoup(html, "html.parser") 

     with codecs.open("documentos/" + str(id) + ".txt", "w", "utf-8-sig") as temp: 
      temp.write(soup.get_text()) 
     id += 1 

其中urls.txt具有所需的URL,URL的一個例子:

我怎樣才能做到這一點?如果我只需要10個文檔,我可以處理它,但是我需要超過500個...因此我無法手動完成。

總結:

有時候,我能得到的文件,有時我不能因爲超時,我想蟒蛇嘗試,直到它可以獲取文檔...

回答

1

你必須能夠更好地結構中的函數用於獲取站點信息。一旦你有這個功能,你可以使用retry decorator