【Python】Selenium+Beautifulsoup4를 사용하여 Yahoo 노선 정보를 조작한다
4583 단어 셀레늄Python3scrapingBeautifulSoup
초보자용입니다.
하고 싶은 일
아래의 모든 조작을 자동으로 수행합니다.
1. 브라우저(Chrome) 시작
2. Yahoo 노선 정보 열기
3. 도쿄 → 신주쿠를 입력하여 검색
4. 맨 위에 나온 결과의 출발 시각과 도착 시각을 터미널에 표시한다
5. 브라우저 닫기
python3계와 pip, Homebrew를 사용할 수 있는 상태를 전제로 합니다. mac 사용하고 있습니다.
라이브러리 설치
pip와 brew를 사용하여 beautifulsoup4 및 Selenium, ChromeDriver 설치
#BeautifulSoup4とSeleniumのインストール
$ pip install beautifulsoup4
$ pip install selenium
#Selenium ChromeDriverのインストール
$ brew install chromedriver
Yahoo 노선 정보를 조작하는 프로그램 작성
selenium-test-yahootransit.py# coding:utf-8
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from time import sleep
from bs4 import BeautifulSoup
start = "東京" #出発駅
end = "新宿" #到着駅
print(start + "駅から" + end + "駅への直近の電車を調べます...")
#ブラウザを開く
driver = webdriver.Chrome()
#Yahoo路線情報を開く
driver.get("https://transit.yahoo.co.jp/")
#出発駅と到着駅の入力
driver.find_element_by_id("sfrom").send_keys(start)
driver.find_element_by_id("sto").send_keys(end)
#検索ボタンをクリックする
driver.find_element_by_id("searchModuleSubmit").click()
#検索結果のページのHTMLをBeautifulSoupに流し込む
soup = BeautifulSoup(driver.page_source, "html5lib")
#時間が書かれた部分をCSSセレクタで指定し、テキストを抜き出す
time = soup.select(".routeSummary li.time")[0].select("span")[0].text
#結果を表示する
print("結果:" + time + "です。")
#ブラウザを閉じる
driver.close()
실제 동작
Reference
이 문제에 관하여(【Python】Selenium+Beautifulsoup4를 사용하여 Yahoo 노선 정보를 조작한다), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/Fujimon_fn/items/16adbd86fad609d993e8
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
pip와 brew를 사용하여 beautifulsoup4 및 Selenium, ChromeDriver 설치
#BeautifulSoup4とSeleniumのインストール
$ pip install beautifulsoup4
$ pip install selenium
#Selenium ChromeDriverのインストール
$ brew install chromedriver
Yahoo 노선 정보를 조작하는 프로그램 작성
selenium-test-yahootransit.py# coding:utf-8
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from time import sleep
from bs4 import BeautifulSoup
start = "東京" #出発駅
end = "新宿" #到着駅
print(start + "駅から" + end + "駅への直近の電車を調べます...")
#ブラウザを開く
driver = webdriver.Chrome()
#Yahoo路線情報を開く
driver.get("https://transit.yahoo.co.jp/")
#出発駅と到着駅の入力
driver.find_element_by_id("sfrom").send_keys(start)
driver.find_element_by_id("sto").send_keys(end)
#検索ボタンをクリックする
driver.find_element_by_id("searchModuleSubmit").click()
#検索結果のページのHTMLをBeautifulSoupに流し込む
soup = BeautifulSoup(driver.page_source, "html5lib")
#時間が書かれた部分をCSSセレクタで指定し、テキストを抜き出す
time = soup.select(".routeSummary li.time")[0].select("span")[0].text
#結果を表示する
print("結果:" + time + "です。")
#ブラウザを閉じる
driver.close()
실제 동작
Reference
이 문제에 관하여(【Python】Selenium+Beautifulsoup4를 사용하여 Yahoo 노선 정보를 조작한다), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/Fujimon_fn/items/16adbd86fad609d993e8
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
# coding:utf-8
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from time import sleep
from bs4 import BeautifulSoup
start = "東京" #出発駅
end = "新宿" #到着駅
print(start + "駅から" + end + "駅への直近の電車を調べます...")
#ブラウザを開く
driver = webdriver.Chrome()
#Yahoo路線情報を開く
driver.get("https://transit.yahoo.co.jp/")
#出発駅と到着駅の入力
driver.find_element_by_id("sfrom").send_keys(start)
driver.find_element_by_id("sto").send_keys(end)
#検索ボタンをクリックする
driver.find_element_by_id("searchModuleSubmit").click()
#検索結果のページのHTMLをBeautifulSoupに流し込む
soup = BeautifulSoup(driver.page_source, "html5lib")
#時間が書かれた部分をCSSセレクタで指定し、テキストを抜き出す
time = soup.select(".routeSummary li.time")[0].select("span")[0].text
#結果を表示する
print("結果:" + time + "です。")
#ブラウザを閉じる
driver.close()
Reference
이 문제에 관하여(【Python】Selenium+Beautifulsoup4를 사용하여 Yahoo 노선 정보를 조작한다), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/Fujimon_fn/items/16adbd86fad609d993e8텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)