**文書の過去の版を表示しています。**
SeleniumでWebスクレイピング覚書
クエリーパラメータを渡す際の注意点
BeautifulSoupでクエリーパラメータを含んだリクエストは送信できないので、クエリーパラメータを送信したいときはSeleniumを使用する。(クエリーパラメータを含んだURLを使用するだけでOK)
seleniumの基本的な使い方
ライブラリーの読み込みとdriverの起動
import time from selenium import webdriver import chromedriver_binary driver = webdriver.Chrome()
GETメソッドでリクエストを送信(クエリーパラメータはURLに入れれば良い)
リクエスト送信後にjavascriptの読み込みが完了するまでに時間を空けると良さそう??(time.sleep()ではなく、読み込み終わりみたいなメソッドがあればそれを使った方がよさげ)
driver.get("https://sra.dbcls.jp/result.html?target_db=sra&term=mifish&rows=100&sort=Updated&order=desc") time.sleep(5)
cssタグを指定して、要素を取得
pjts_selector = ".tabulator-cell[tabulator-field='_id']" projects = driver.find_elements_by_css_selector(pjts_selector)
このあたりを参考
図解!PythonでSeleniumを使ったスクレイピングを徹底解説!(インストール・使い方・Chrome)
Selenium入門 Pythonでブラウザを自動化したい方必読!
Javascriptでクリック関連がうまくいかない場合の対処
JavascriptをSeleniumで実行してあげるとよい。
driver.execute_script('document.getElementById("dest_File").click();')
こんな感じ