私は Python が得意なので、詳細が些細な場合は疑似コードで十分です。タスクを開始してください - 私の州の教会のカタツムリ メール アドレスをネットでクロールするにはどうすればよいですか。「123 Old West Road #3 Old Lyme City MD 01234」のような 1 つのライナーができたら、十分な試行錯誤を重ねて、おそらくそれを City、State、Street、Number、apt に解析できます。私の問題は、オンラインでホワイト ページを使用している場合、HTML ジャンク、HTML テーブル、広告などをすべて処理するにはどうすればよいかということです。私は彼らの電話番号が必要だとは思いませんが、問題はありません。解析したらいつでも捨てることができます。ソリューションが半分手動 (pdf に保存してから acrobat を開いてテキストとして保存するなど) であっても、それでも満足できるかもしれません。ありがとう!Perl のスニペットも受け入れます。自分で翻訳できます。
5 に答える
lynx --dump <url>
Webページをダウンロードしてみてください。面倒なHTMLタグはすべて出力から削除され、ページのすべてのリンクが一緒に表示されます。
美しいスープは簡単です。http://www.churchangel.com/から開始できるサイトを次に示します。それらには巨大なリストがあり、フォーマットは非常に規則的です-翻訳:スクレイピングするBSoupをセットアップするのは簡単です.
mechanizeを使用できます。ブラウザをシミュレートする Python ライブラリなので、白いページを (手動で行うのと同様に) クロールできます。
「html ジャンク」に対処するために、python にはそのためのライブラリもあります: BeautifulSoup HTML から必要なデータを取得するための素敵な方法です (もちろん、HTML について少し知っていることを前提としています。解析ツリーをナビゲートする必要があります)。
更新:複数のページをクリックする方法に関するフォローアップの質問について。mechanize はまさにそれを行うためのライブラリです。彼らの例を詳しく見てみましょう。follow_link メソッド。先ほど言ったように、ブラウザをシミュレートしているので、「クリック」は Python ですぐに実現できます。
あなたがやろうとしていることは、スクレイピングまたは Web スクレイピングと呼ばれます。
python と Scrapingで検索すると、役立つツールのリストが見つかるかもしれません。
(私はスクレイピーを使ったことはありませんが、そのサイトは有望に見えます:)
ある地域の教会の住所を探しているだけなら、Python スクリプトはこの仕事に最適なツールではないかもしれません。
米国の国勢調査では、地理情報システムで使用する教会のデータ セットを提供しています。x
空間領域内のすべてを見つけることが繰り返し発生する問題である場合は、GIS の学習に投資してください。その後、Python のスキルを活用して、多くの地理的なタスクに取り組むことができます。