2017-08-25 23 views
-1

からデータを抽出する必要があります。 「名前」、「性別」、「タイトル」、「病院名」、「連絡先の詳細」の4つの列が必要です。名前をクリックすると、「タイトル」情報が表示されます。私が直面している別の問題は、複数のページから情報を抽出することです。合計で10071件のレコードがあります。私はこれらすべてのレコードの情報が必要です。現在、Rでrvestパッケージを使用していますが、エラーが発生しています。私はPythonで解決に開いていた境界R/PythonでのWebスクレイピング

外の添字:

library(rvest) 
    session = html_session("https://eservices.dha.gov.ae/DHASearch/UIPages/ProfessionalSearch.aspx") 
    form = html_form(session)[[1]] 

エラー - 以下のコードを参照してください。私はPythonでbeautifulsoupを使うのは初心者です。どんな助けも高く評価されるでしょう!

+0

Python Scrapyを学ぶ必要があります。 「私はPythonで解くことができます」と言えば、ここで多くの助けを得ることになるので、これを使うことをお勧めします。あなたが何かを持っているならば、それをコード化して、特定の問題を尋ねてください –

+0

私はRやrvestを知らないが、BeautifulSoupはこれを非常に簡単にする。これは要求ライブラリーを使用します。したがって、あなたは 'website = requests.get(" url ")'を実行することができます。これはあなたが操作できるウェブサイトオブジェクトを取得します。次に、テーブルの各行を取得したい場合(テーブルなので、私は推測しています)、 'soup = BeautifulSoup(website)、rows = soup.findAll( 'tr ') '。あなたの検索範囲を絞り込むために追加することができる他の多くのものがあります。 https://www.crummy.com/software/BeautifulSoup/bs4/doc/のドキュメントをご覧ください。これが簡単ならば、コメントを残してください –

答えて

0

この個人情報をすべて掻き取る権利がある場合は、Pythonでセレニウムを使用し、各ページングページで使用されるjs関数呼び出しを呼び出してページをナビゲートし、それぞれのページソースを取得します。これはおそらく、データがJavascript呼び出しを使用してロードされるときに見られる最も良い賭けです。

関連する問題