次の問題があります。次のリンクからテキストをダウンロードしたいと思います。
http://www.ncbi.nlm.nih.gov/nuccore/NC_021206.1?report=fasta&log$=seqview&format=text
私は両方を試してみましたwget
がcurl
、テキストファイルをダウンロードする代わりに、html ページをダウンロードします。この問題を克服する方法はありますか?
次の問題があります。次のリンクからテキストをダウンロードしたいと思います。
http://www.ncbi.nlm.nih.gov/nuccore/NC_021206.1?report=fasta&log$=seqview&format=text
私は両方を試してみましたwget
がcurl
、テキストファイルをダウンロードする代わりに、html ページをダウンロードします。この問題を克服する方法はありますか?
問題は、サーバーが実際のテキスト ファイルを返すのではなく、クライアント側でそれを生成するスクリプトを返すことです。これは、作成しようとしているスクリプトのような自動リーチング スクリプトからの保護対策だと思います。
しかし、その一方で、保護したいテキストを別の 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"