9

Web ページにレンダリングされたデータの一部を抽出しようとしています。以下のコードを使用して、ページからデータ全体を取得し、テキスト ファイル (RAW) に保存することができます。

curl http://webpage -o "raw.txt"

他の選択肢や利点がまったくないかどうか疑問に思っています.

4

4 に答える 4

7

requestsBeautifulSoupを組み合わせて使用​​します。

from bs4 import BeautifulSoup
import requests    
    
session = requests.session()    
req = session.get('http://stackoverflow.com/questions/10807081/script-to-extract-data-from-wbpage')    
doc = BeautifulSoup(req.content)    
print(doc.findAll('a', { "class" : "gp-share" }))
于 2012-05-29T21:46:35.870 に答える
1

cURL は良いスタートです。より良いコマンド ラインは次のようになります。

curl -A "Mozilla/5.0" -L -k -b /tmp/c -c /tmp/c -s http://url.tld

Cookie、ユーザーエージェント、SSL証明書などを扱うためです。

見るman curl

于 2012-05-29T21:50:40.620 に答える
1
  1. 単一の Web リソースを保存/処理する:上記のアプローチは、単一のファイル/Web リソースに適しています。また、事前設定されたパターンに基づいて正規表現をパイプし、データをチョップ/スキップすることもできます。例: すべてのタグ ソース URL を保存します。

  2. ディレクトリ全体または Web サイトを再帰的に保存/処理する: Python または Perl スクリプトを使用して、ページまたは Web サイトの dns 名に属するすべてのリンクとリソースを繰り返し取得できます。Python では、http lib を使用して、タグを再帰的に解析します (深さの制限があることを確認してください。または、大規模な Web サイトでは、大量のデータを保存することになる可能性があります!)。簡単で安全な賭けはBeautiful Soupです。これは、Web データをスクラップし、ナビゲートし、リモート Web リソースの解析ツリーを検索できる Python ライブラリです。また、解析されたローカル コンテンツなどを変更することもできます。

于 2012-05-29T21:55:33.560 に答える
0

サンプル コードは、Web ページからすべてのデータを取得します。Web ページを解析して特定の情報を抽出したい場合は、既存のパーサーを使用することをお勧めします。

私は通常、html ページからデータを抽出するためにBeautifulSoupを使用します。

于 2012-05-29T21:46:51.643 に答える