学問的な理由から、私は北朝鮮の辞書(著作権関連の問題について既に知らされている)を掻き集める必要があります。これは、実際には非常に単純なものです。カールを使用したスクラップ辞書
uriminzokkiri.com/uri_foreign/dic/index.php?page=1
と最後のエントリは次の場所にあります:ちょうど各辞書エントリのURLに昇順の番号を使用することである
uriminzokkiri。 com/uri_foreign/dic/index.php?page = 313372
基本的には、これを行う最も簡単な方法は、ループ構築を使用してエントリの数を増やし、サイトが正常にダウンロードされたかどうかをチェックする単純なシェルスクリプトを作成することです。それが成功するまでサイトをダウンロードしようとすることを繰り返します(これもまた些細なことです)。
しかし、これをテストするエントリを含むサイトをダウンロードしようとしましたが失敗しました。サイトはセッションCookieを利用するので、最初に "-c"パラメータを使用してファイルに保存し、 "-v"(冗長)と "-b"(cookieを取得)からcurlを呼び出します次の出力が生成されたファイル)のパラメータ、:
これらはFirebugので示されているようなリクエストとレスポンスヘッダである: Request/Response headers
Iはまた、「使用して、これらすべての要求ヘッダーを通過しようとしました-H "パラメータを使用していましたが、これはうまくいきませんでした。
誰かがこの辞書を掻き集めるためのPythonベースのスクレーパーをコーディングし始めましたが、これが単純なbashスクリプトを使用して実現できるのであれば、これはちょっとしたことです。
私がこれまでに試したアプローチがうまくいかず、これがどうして実現できるのか誰にも分かりますか?
事前に感謝し、よろしく
私はあなたがpastebinで共有したコマンドを使用しましたが(btwも同様に質問で共有されているはずです)、ページを取得するのにはうまくいきました。今すぐあなたがする必要があるのは、何らかのHTMLパーサーや正規表現を使って必要な項目を見つけ出すことです(Pythonは残虐行為のように聞こえません) – apokryfos
申し訳ありませんが、私はURLを短くしました間違って:Firebugヘッダーのように "&ID = 1"(最初のエントリ)を追加する必要があります。http://uriminzokkiri.com/uri_foreign/dic/index.php?page=1&ID=1このアドレスをブラウザに入力すると、そのエントリを含むサイトが返されますが、そのページをスクラップするには[div#dic_desc_center](http://pasteboard.co/NmhG2WTbg)の内容を取得する必要があります。jpg)Firebugは、「this」オブジェクトが正しくないため、[LenientThis]が無視されたプロパティに属する「get」または「set」を指定します。どうすれば "dic_desc_center"を得ることができますか/それはどこに指していますか?事前に感謝 – ipsecreloaded