現在、LinkedInの特定のページからデータをスクラップしようとしています。 LinkedInにログインできるスクリプトがありますが、データが含まれているページにアクセスしようとすると困惑します。 requests.get(data_url)
と呼ぶと、LinkedInが実際のページコンテンツを読み込む前に表示されるLinkedInの読み込み画面のhtmlになります。実際にhtmlデータをスクラップする前にLinkedInがサイトデータを表示するのをリクエスト待ちにする方法はありますか?私は本質的に、ページを完全にレンダリングしてから、コンテンツを取得できるようにする必要があります。私の現在のスクリプトは以下の通りです。Webページが完全に読み込まれてから、Pythonリクエストで掻き集めるまで待ちます。
import requests
from bs4 import BeautifulSoup
client = requests.Session()
HOMEPAGE_URL = 'https://www.linkedin.com'
LOGIN_URL = 'https://www.linkedin.com/uas/login-submit'
html = client.get(HOMEPAGE_URL).content
soup = BeautifulSoup(html)
csrf = soup.find(id="loginCsrfParam-login")['value']
login_information = {
'session_key':'EMAIL',
'session_password':'PASSWORD',
'loginCsrfParam': csrf,
}
client.post(LOGIN_URL, data=login_information)
r = client.get(data_url)