1

ソーシャルネットワークのウェブサイトをクロールするPythonスクリプトを書きたいと思います。スクリプトの目的は、ソーシャルグラフ(友情関係)の一部を取得することです。

WebサイトはAPIを提供していません。

問題は、ログインセッションを装って連絡先ページ( http://www.anobii.com/junemiller/friendsなど)にアクセスするPythonでWebサイトをクロールするにはどうすればよいですか?私はlogin\passwordを持っていて、それを使用してログインと取得を行いますが、Python経由でログインして、ページにアクセスするためのセッションを確立する方法がわかりません。Pythonモジュールまたはメソッドに関する提案はありますか?

ありがとう、Jacopo

4

3 に答える 3

2

まず、ソーシャルネットワークがこれを行うためのAPIを提供しているかどうかを確認する必要があります。また、あなたがやりたいことがサービスの条件で許可されているかどうかを確認してください。そうしないと、ブロック/禁止されるリスクがあります。

APIがなく、この方法でシステムをクロールすることが許可されている場合は、mechanizetwillなどのツールを調べて、ブラウザー/ Cookie /セッションの動作をシミュレートし、適切なスクレイピングを提供します。

または、 lxml.htmlurllib2cookielibモジュールなどを使用してこれを自分で実装します。

于 2010-09-18T08:42:53.920 に答える
2

すでにCookieとWebセッションを処理しているScrapyを使用することもできます。

公式ドキュメントにログインを実行する方法の例があります: http ://doc.scrapy.org/en/stable/topics/request-response.html?highlight = request#using-formrequest-from-response-to-ユーザーログインのシミュレーション

Scrapyは非同期IOを使用して実装されるため、Mechanizeやtwillよりも高速である必要があります。

于 2010-09-19T19:52:42.117 に答える
0

Mechanizeを調査する必要があります。ドキュメントから:

AndyLesterのPerlモジュールWWW::Mechanizeの後の、PythonでのステートフルプログラマティックWebブラウジング。

または、urllib2やその他の組み込みのPythonモジュールを使用して独自のロールを作成することもできます。

@Ivoが言ったように、最初にサイトにこれを行うためのAPIがあるかどうかを確認してください。たとえばFacebookには、あなたが説明したことをほぼ実行するためのGraphAPIがあります。

于 2010-09-18T08:44:09.033 に答える