2012-02-20 52 views
0

對於我的一個統計項目,我需要從Google專利頁面隨機下載幾個文件,每個文件都是一個大的zip文件。該網站鏈接如下:有什麼好的抓取工具可以幫助下載文件

http://www.google.com/googlebooks/uspto-patents-grants-text.html#2012

具體來說,我想隨機選擇5年(在頁面頂部的鏈接)和下載(即5檔)。你們知道有沒有適合這項任務的好包裝?

謝謝。

+0

爲什麼你不下載所有的檔案,保存在磁盤上,然後做你的隨機事情?我不知道你在編寫什麼編程語言,但在C#中,這可以在大約20行代碼中完成(給出或取出)。 – Kiril 2012-02-20 15:46:29

+0

確實如此,但由於這是一個團隊項目,我們希望有一些腳本可以在線選擇樣本並僅下載所選樣本。所有這些文件都相當大,所以我們只想抓住我們需要的東西來節省一些內存空間。 – 2012-02-20 17:02:47

回答

1

該頁面主要包含zip文件並查看HTML內容,似乎應該很容易通過在候選URL集合中搜索*.zip來確定哪些鏈接將產生zip文件,因此,這裏是我建議:

fetch the page 
parse the HTML 
extract the anchor tags 
for each anchor tag 
    if href of anchor tag contaings "*.zip" 
     add href to list of file links 

while more files needed 
    generate a random index i, such that i is between 0 and num links in list 
    select i-th element from the links list 
    fetch the zip file 
    save the file to disk or load it in memory 

如果你不想讓同一個文件兩次,然後就從鏈接列表中刪除URL和隨機選擇另一個指數(直到你有足夠的文件或直到運行沒有鏈接)。我不知道你的團隊使用什麼編程語言編寫代碼,但編寫一個能夠完成上述任務的小程序不是很困難。

相關問題