0

次の問題があります。次のリンクからテキストをダウンロードしたいと思います。

http://www.ncbi.nlm.nih.gov/nuccore/NC_021206.1?report=fasta&log$=seqview&format=text

私は両方を試してみましたwgetcurl、テキストファイルをダウンロードする代わりに、html ページをダウンロードします。この問題を克服する方法はありますか?

4

2 に答える 2

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"
于 2013-07-05T12:26:05.130 に答える