8

wget簡単なWebスパイダーを作成するか、GoogleScholarからPDF結果をダウンロードするために使用したいと思います。それは実際、研究用の論文を入手するための非常に巧妙な方法です。

私はstackoverflowに関する次のページを読みました:

wgetを使用してWebサイトをクロールし、クロールされたリンクの総数を制限します

WebスパイダーはWgetのスパイダーとどのように異なりますか?

WebサイトからすべてのPDFファイルをダウンロードする

wgetを使用してWebサイトからすべてのファイル(HTMLではない)をダウンロードするにはどうすればよいですか?

最後のページはおそらくすべての中で最もインスピレーションを与えてくれます。私はこれで提案されているように使用してみましwgetた。

したがって、私のgoogle scholar検索結果ページはダウンロードされましたが、何もダウンロードされませんでした。

ウェブスパイダーについての私の理解レベルが最小限であることを考えると、これを可能にするために私は何をすべきですか?蜘蛛を書くことはおそらく非常に複雑であり、私が着手したくないプロジェクトであることを私は理解しています。を使用することが可能であればwget、それは絶対に素晴らしいでしょう。

4

1 に答える 1

11
wget -e robots=off -H --user-agent="Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.3) Gecko/2008092416 Firefox/3.0.3" -r -l 1 -nd -A pdf http://scholar.google.com/scholar?q=filetype%3Apdf+liquid+films&btnG=&hl=en&as_sdt=0%2C23

注意すべきいくつかのこと:

  1. 検索クエリでのfiletyle:pdfの使用
  2. 1レベルの再帰
  3. -PDFのみを受け入れるためのPDF
  4. -ホストにまたがるH
  5. -e robots = offおよび--user-agentを使用すると、最良の結果が保証されます。Google Scholarは空白のユーザーエージェントを拒否し、PDFリポジトリはロボットを許可しない可能性があります。

もちろん、これは結果の最初のページにしかヒットしないという制限があります。再帰の深さを拡張することもできますが、これは暴走し、永遠にかかります。検索結果を戦略的に解析およびトラバースできるように、BeautifulSoupやwgetサブプロセスなどを組み合わせて使用​​することをお勧めします。

于 2012-09-05T12:24:02.530 に答える