読者です 読者をやめる 読者になる 読者になる

Python+Selenium+Phantom.js+Beautifulsoupでスクレイピング

zipsan.hatenablog.jp

seleniumをインストール
pip3 install selenium

phantomjsをダウンロード
http://phantomjs.org/
WindowsのPATHを通しておく

www.qq.pref.ehime.jp


Selenium IDEFirefoxにインストールしてアクセス方法を記録
python2にエクスポート
エクスポートしたファイルの中から
def test_(self):
から不要なものを削除しコピー、ここからここまでに貼付け

from selenium import webdriver
from bs4 import BeautifulSoup
import re

driver = webdriver.PhantomJS()

#ここから
driver.get("http://www.qq.pref.ehime.jp/qq38/qqport/kenmintop/")
driver.find_element_by_css_selector("div.group2 > input.each-menu-citizen__button-hover").click()
driver.find_element_by_id("id_blockCd000004").click()
driver.find_element_by_name("forward_next").click()
#ここまで

#スクリーンショット
#driver.save_screenshot("ss.png")

html = driver.page_source
driver.quit()

soup = BeautifulSoup(html, 'html.parser')
table = soup.find_all('table', class_='comTblGyoumuCommon')

for i in table[6:]:
    #日付
    data = re.sub(r'\s', '', i.td.get_text())
    for j in i.find_all('td', width="90%"):
        text = re.sub(r'\s', '', j.a.get_text())
        print(data, text)

ユーザーエージェント変更

from selenium import webdriver
from selenium.common.exceptions import NoSuchElementException

USER_AGENT = "Mozilla/5.0 (Windows NT 6.3; Trident/7.0; rv:11.0) like Gecko"

# driver = webdriver.PhantomJS()
driver = webdriver.PhantomJS(desired_capabilities={'phantomjs.page.settings.userAgent':USER_AGENT})

# ブラウザ操作
driver.get("http://www.useragentstring.com/")


# スクリーンショット
driver.save_screenshot("ss.png")
driver.quit()