- 締切済み
難しいかもしれませんが、Pythonについて
以下の英英辞書のオンラインサイトで、複数の単語の定義だけを一箇所(例えばメモ帳など)にまとめるプログラミングは可能でしょうか? http://www.learnersdictionary.com/search/record 上のURLはrecordの定義ですが、欲しい部分は見出し語(ここではrec·ordから)その定義の最後の部分(ここでは~ happened last week.)までです。そのあいだの部分すべてをメモ帳などにコピペして、次の別の単語の定義をメモ帳にコピペして、さらに次にというのようなプログラミングが欲しいのです。 ちなみに、私の手持ちのものは、約2万の調べたい英単語とそのURLです。また、その単語の中には、上記の英英辞書にのっていないものがあります(例えばqualtagh; http://www.learnersdictionary.com/search/qualtagh) 私はプログラミングはほんとどなにもしりませんので、できれば説明ではなくプログラムそのものを書いてくれるとありがたいです。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- semisemi
- ベストアンサー率72% (8/11)
確かに難しいというほどのことはないですが、簡単でもないですね…。 いい方法かどうかはわかりませんが、私なりに考えてみた実装を回答させていただきます。 URLが「http://www.learnersdictionary.com/search/検索したいワード」となっているようなので、 pythonでやるなら、urllib2をimportして、例えば以下のような関数を作ります。 import urllib2 def GetDicHtml(url): fp = urllib2.urlopen(url) html = fp.read() fp.close() return html #呼び出し部分 retHtml = GetDicHtml("http://www.learnersdictionary.com/search/record") print retHtml この関数の引数に上記のようなURLを渡すと、その辞書ページのHTMLを取得できると思います。 後は、そのHTMLのタグをたよりに、必要な文字列だけに(タイトルや定義など)分離していくしかないのかなと…。 分離できたら、その文字列をテキストファイルに出力するという感じで実現できそうです。 とはいえ、上のコードを実行してみるとわかりますが、わりと長いHTMLがドバっと返ってくるので、ここから必要な情報を取り出すのはちょっと骨が折れそうです。 実際にやるなら、ブラウザでページのソースを見ながら、欲しい情報がどこにあるかを確認しつつ頑張ってみてください。 ※上の関数のインデントは全角スペースになってますので注意してください。
- kmee
- ベストアンサー率55% (1857/3366)
作れるけど、欲しいと言われてハイと渡せるほど簡単ではありません。 データが欲しいだけなら、(人が見るために加工された)サイトから抜き出すなんて面倒なことしないで、辞書データそのものを入手して加工するのが楽でしょう。 なんにせよ > 私はプログラミングはほんとどなにもしりませんので、できれば説明ではなくプログラムそのものを書いてくれるとありがたいです。 というのは「質問」ではなく「作成依頼」ですね。