0
對於我的一個統計項目,我需要從Google專利頁面隨機下載幾個文件,每個文件都是一個大的zip文件。該網站鏈接如下:有什麼好的抓取工具可以幫助下載文件
http://www.google.com/googlebooks/uspto-patents-grants-text.html#2012
具體來說,我想隨機選擇5年(在頁面頂部的鏈接)和下載(即5檔)。你們知道有沒有適合這項任務的好包裝?
謝謝。
對於我的一個統計項目,我需要從Google專利頁面隨機下載幾個文件,每個文件都是一個大的zip文件。該網站鏈接如下:有什麼好的抓取工具可以幫助下載文件
http://www.google.com/googlebooks/uspto-patents-grants-text.html#2012
具體來說,我想隨機選擇5年(在頁面頂部的鏈接)和下載(即5檔)。你們知道有沒有適合這項任務的好包裝?
謝謝。
該頁面主要包含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和隨機選擇另一個指數(直到你有足夠的文件或直到運行沒有鏈接)。我不知道你的團隊使用什麼編程語言編寫代碼,但編寫一個能夠完成上述任務的小程序不是很困難。
爲什麼你不下載所有的檔案,保存在磁盤上,然後做你的隨機事情?我不知道你在編寫什麼編程語言,但在C#中,這可以在大約20行代碼中完成(給出或取出)。 – Kiril 2012-02-20 15:46:29
確實如此,但由於這是一個團隊項目,我們希望有一些腳本可以在線選擇樣本並僅下載所選樣本。所有這些文件都相當大,所以我們只想抓住我們需要的東西來節省一些內存空間。 – 2012-02-20 17:02:47