2017-12-01 6 views
1

私は要素を検査行うと、私は、Javaスクリプトで保護されたHackerearthページをスクラップする方法は?

Inspect Element

しかし、ソースの表示を行う上での取得 https://www.hackerearth.com/@babe

Hackerearth Page

、例えば、hackerearthページで解決される問題を取得したいです私はクラスダークウェイト700を見つけることができません。私はコンテンツがJavaスクリプトからロードされると思います。したがって、私はPythonのbs4ライブラリを使用すると、私はNone Elementを返します。

私は新しいブラウザウィンドウを開きますので、私はDJANGOプラットフォームでこのすべてをやっているので、セレンを使わずにバックエンドですべてのスクリプトを処理し、問題の数だけを戻したいつまり、119.

答えて

1

幸いなことに、データは一般公開のAPI(このユーザーの場合は/users/pagelets/babe/coding-data/)を使用して読み込まれるため、requestsbs4で情報を取得できます。私はこのAPIの詳細を見つけることができます

import requests 
from bs4 import BeautifulSoup 

user = 'babe' 
url = 'https://www.hackerearth.com/users/pagelets/{}/coding-data/'.format(user) 
r = requests.get(url) 
soup = BeautifulSoup(r.text, 'lxml') 
problems_solved = soup.find(string='Problems Solved').find_next().text 

print(problems_solved) 
+0

。どんなドキュメンテーションですか? –

+0

私は考えていない、私はネットワークのトラフィックを調べることによってそれを見つけた。しかし、公式のAPIがありますので、こちらのドキュメントをご覧ください[https://www.hackerearth.com/docs/wiki/developers/legacy/](https://www.hackerearth.com/docs/wiki/developers /レガシー/) –

関連する問題