2013-07-05 176 views

回答

1

問題是,該服務器不會返回真正的文本文件,而是一個腳本,它會在客戶端生成它。我想,這是自動浸出腳本的保護措施,就像您正在嘗試創建的腳本一樣。

但是,在另一方面,這是相當跛腳的措施,因爲它們是加載他們想從另一個URL來保護文本,你的情況的:

http://www.ncbi.nlm.nih.gov/sviewer/viewer.fcgi?val=498907917&db=nuccore&dopt=fasta&extrafeat=0&fmt_mask=0&maxplex=1&sendto=t&withmarkup=on&log$=seqview&maxdownloadsize=1000000 

所以,在這裏,你應該做的:

wget "whatever" -O temp.html 
id=`cat temp.html | grep ncbi_uidlist | sed -e 's/^.*ncbi_uidlist\" content=\"//' | sed -e 's/".*//'` 
wget "http://www.ncbi.nlm.nih.gov/sviewer/viewer.fcgi?val=$id&db=nuccore&dopt=fasta&extrafeat=0&fmt_mask=0&maxplex=1&sendto=t&withmarkup=on&log$=seqview&maxdownloadsize=1000000" 
+0

太棒了。有用! – fabioln79

+0

@ fabioln79我知道。我測試了它。 –

0

使用lynx

它有一個-dump選項,它提供了你正在尋找的功能。

+0

Lynx執行JavaScript嗎? –

+0

您可以將HTML輸出傳輸到'lynx'。 – devnull

+0

然後這裏沒用 - 數據是用JavaScript生成的。 –