seleniumでwebスクレイピング覚書

SeleniumでWebスクレイピング覚書

BeautifulSoupでクエリーパラメータを含んだリクエストは送信できないので、クエリーパラメータを送信したいときはSeleniumを使用する。(クエリーパラメータを含んだURLを使用するだけでOK)

pythonでスクレイピング クエリパラメータが渡せない?

ライブラリーの読み込みと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でブラウザを自動化したい方必読!

PythonとSeleniumでブラウザを自動操作(クローリング/スクレイピング)するチートシート

Selenium Document

JavascriptをSeleniumで実行してあげるとよい。

driver.execute_script('document.getElementById("dest_File").click();')

こんな感じ

  • seleniumでwebスクレイピング覚書.1648039694.txt.gz
  • 最終更新: 2022/03/23 12:48
  • by 133.11.144.12