追記】PhantomJSは2018年3月に更新が終了しました。development本記事のコードを実行しても以下のエラーが出るでしょう。instead今後はChromeなどを使うのが良いでしょう。SeleniumでChromeDriverを使ってスクレイピング【追記終了】SPAではHTMLをロードした後にJavaScriptがページを生成します。従って、単純にrequestsなどで取得したhtmlソースでは取得したい情報が得られません。ここではSeleniumを使ってウェブブラウザを操作することで解決します。3.8.0SeleniumとPhantomJSSeleniumSeleniumはウェブブラウザを操作するソフトウェアです。ウェブページを開いてIDとパスワードを入力してログインする、ページの下までスクロールして読み込みを待つ、など単純にページを開くだけでなく操作を必要とするような場合に役に立ちます。Seleniumが操作可能なブラウザはChrome、Firefoxなど多岐に渡ります。AutomationPhantomJSPhantomJSはヘッドレスなWebKitです。画面がないブラウザのようなものです。Seleniumのウェブドライバーとして選択可能です。Selenium経由で操作することで、画面のないブラウザでJavascriptの挙動を考慮してウェブページを取り扱うことが可能です。"html.parser")これであとはsoupを煮るなり焼くなり処理すれば良いです。テストでは、JavascriptでHTMLが書き換えられるウェブサイトを例にテストをします。Oneの検索結果画面を例にとります。cancerで検索してみると、このような画面になります。論文のタイトルが見えています。検証ツールを使うと、searchResultsListの中にdt要素として格納されていることがわかります。「ページのソースを表示」をしてみると中にはコードらしきものが入っていますが、実際のタイトルは記述されていません。requestsこれを単純にrequestsとBeautifulsoupで取得してみましょう。soup.find(id='searchResultsList')targetの中身を見てみます。None中身は空でした。PhantomJSではSeleniumとPhantomJSを使ってみます。soup.find(id='searchResultsList')targetの中身を見てみます。Studies&lt;/a&gt;&lt;/dt&gt;...目的の要素が入っていました。あとは必要に応じて加工してあげれば良いですね。詳しいことを知りたい方はPythonによるスクレイピング&機械学習がおすすめです。SeleniumやPhantomJSの専門の話ではないですが、スクレイピング全般や作法、さらに機械学習の触りまで学習できて内容が広く勉強になりました。technology.。