私はいくつかのウェブサイトに行き、これらのウェブサイトから特定のデータを読む小さなアプリケーションを作りたいと思っています。 .netを使ってウェブサイトを解析する良い方法がありますか?他のウェブサイトからプログラムでデータを取得するにはどうすればよいですか? "アマゾンは例として提供しています"
答えて
.NETでスクリーンスクレイピングを実行するための優れたツールキットがHTML Agility Packであると言われました。
あなたが記述しているように、スクリーンスクレイプソリューションを安定したものにすることや、汎用目的にすることは、常に非常に難しいことに注意してください。あなたが欲しいものを行う必要があります窓や正規表現のためにwgetを使用してScreen scraping: regular expressions or XQuery expressions?
取得しようとしているデータがRSSなどの手段で利用できないと仮定すると、ページスクレーパーを探すように見えます。 「.NET HTMLスクレイパー」のグーグルリングは、そのトピックに関する豊富な情報を返します。
あなたのシナリオを実際には意図していませんが、Watinをご覧ください。私はあなたがしたいことがスクリーンスクレープであると仮定しています。 Watinは簡単に使えるようになり、あなた自身で解析コードの多くを書くことができなくなります。
人間が読むために作られたウェブサイトを読むことは常に問題です。私はこれを数年前から行いました。 XMLやRSSのようなものから必要なデータを探し出すことは、常に良い考えです。
ウェブサイトのレイアウトは変更される可能性がありますので、アプリケーションを変更する必要があります。しかし、主な問題は、ページに必要な情報を見つけることです。 contains、left、mid、indexOfのような多くの文字列メソッドが常に必要です。
HTMLはXMLのようなものなので、おそらくXMLパーサーが動作します。しかし、ブラウザは常にもう少し寛容であり、整形されていない多くのページを受け入れて表示します。
サイトでAPIが提供されていない場合は、ウェブサイトを「スクラップする」ことになります。これは確かに可能ですが、それは非常に脆いです。ウェブサイトが変更された場合、必要な情報を「見つける」ために使用するロジックが壊れてしまいます。特定の情報を見つける汎用的なアプリケーションを持つことは素晴らしいコンセプトですが、信頼性の高い実装は難しいです。
:
はまた、他のこの質問への回答を参照してください。 wgetを使用してソースコードを取得し、正規表現を使用してすべてのコードをフィルタリングしたり、パターンがある場合は探しているものを正確に取得したりします。
- 1. スクリプトを使用してウェブサイトからデータを取得するにはどうすればよいですか?
- 2. ウェブサイトを1つのファイルとして提供するにはどうすればいいですか?
- 3. 私はHtmlAgilityPackでウェブサイトからデータを取得しようとしています
- 4. JSONを使用してアンドロイドのウェブサイトでデータを取得するにはどうすればよいですか?
- 5. ウェブサイトを検索してPHPでデータを取得するにはどうすればよいですか?
- 6. 他のFlinkプログラムからクラスタにFlinkプログラムを提出するにはどうすればよいですか?
- 7. 他のウェブサイトから「getImageData」を取得するにはどうすればよいですか? SECURITY_ERR:DOM Exception 18
- 8. Djangoデータベースから行データをリストとして取得するにはどうすればよいですか?
- 9. ウェブサイトに動的CSSスタイルまたはカスタムテーマを提供するにはどうすればよいですか?
- 10. Linqを使用してViewData.ModelStateから例外を取得するにはどうすればよいですか?
- 11. アプリ内のウェブサイトからデータを取得するにはどうすればよいですか?
- 12. テキストボックスからデータを取得してdataTableに追加するにはどうすればよいですか?
- 13. firebaseデータベースからデータを取得してカスタムリストビューに表示するにはどうすればよいですか?
- 14. アングルツリーコンポーネントのすべての子供からIDを取得するにはどうすればいいですか?
- 15. プログラムで作成しているチェックボックスを取得するにはどうすればよいですか?
- 16. エクスプレスサブドメインでリアクションアプリを提供するにはどうすればよいですか?
- 17. koaでフロントエンドを提供するにはどうすればよいですか?
- 18. QueryDefを使用してパススルークエリからデータを取得するにはどうすればよいですか?
- 19. ajaxを使用してデータベースからデータを取得するにはどうすればよいですか?
- 20. curlを使用してAPIからデータを取得するにはどうすればよいですか?
- 21. HtmlUnitを使用してJavaScriptからデータを取得するにはどうすればよいですか?
- 22. あなたのウェブサイトで無料の着メロを提供するにはどうすればよいですか?
- 23. 工場からデータを取得してヘッダーで送信するにはどうすればいいですか?
- 24. ウェブサイトのアイコンを取得するにはどうすればよいですか?
- 25. Express:静的コンテンツとしてfont-awesomeを提供するにはどうすればよいですか?
- 26. 古いインストールを検出して削除を提供するにはどうすればよいですか?
- 27. 他のウェブサイトにアクセスするユーザーのIPアドレスを取得するにはどうすればよいですか?
- 28. イメージピラミッドをフロントエンドに提供するにはどうすればよいですか?
- 29. フェニックスでsitemap.xmlを動的に生成して提供するにはどうすればよいですか?
- 30. オプションのアクションとして部分メソッドを提供するにはどうすればいいですか?
これは参考用ですwget url http://www.gnu.org/software/wget/ –