Django Girls and Boys 備忘録

Python、Django、java、iPhoneアプリ,Excelマクロなどで気付いたこと、覚えておきたいことなどを載せていきます。

【Python Selenium】Webサイトのソースコードをファイル保存する方法

 


PythonSeleniumを使用して、Webサイトへのアクセスの自動化などを行っていると、必ず必要になってくることの1つが、HTML、CSSJavaScriptなどで書かれたWebサイトのソースコードの中身を見たり、ファイルに落としたいというようなことです。

 

そこで、今回はPythonSeleniumのプログラムにてWebサイトへアクセス後に、そのWebサイトのソースコードをファイルへ保存する方法を説明することとし、備忘録として残していきたいと思います。

 

Windowsの場合になりますが、Webサイトのソースコードをファイルへ保存する場合のコードの例としては、以下のようなものになります。

これを、ソースコードを保存したいURLなどにアクセス後の該当箇所に追加します。

 

        argfile = u"C:\\Users\\ユーザー名\\Documents\\python\\src.txt"

        with open(argfile, 'w') as f:

                print(driver.page_source,file=f)

 

1行目の「ユーザー名」は、自分のPCのユーザー名に置き換えてください。

 

これにより、自分のPC内の「ドキュメント」フォルダ内に対象サイト内の上記コードを入れ込んだ箇所のソースコードがsrc.txtとしてファイル保存されます。

(フレームなどで分かれていると同一フレーム内のコードまでになるかもしれません)

 

それらを含めた簡単な例としては、以下のようなものになります。

 

from selenium import webdriver
import os
from selenium.webdriver.chrome import service as fs

######################################################################
path_driver = os.getcwd()+'\msedgedriver.exe'
# ドライバー指定でEdgeブラウザを開く
edge_service = fs.Service(executable_path=path_driver)
driver = webdriver.Edge(service=edge_service)
######################################################################

driver.get('https://www.google.com/')

argfile = u"C:/Users/ユーザー名/Documents/src.txt"
with open(argfile, 'w') as f:
    print(driver.page_source,file=f)

 

このの場合では、Google検索サイトにアクセス後、その画面のソースコードをドキュメントフォルダ内のsrc.txtファイルに保存します。

 

注)ただし、これらによるアクセスを含め外部のサイトにアクセスする場合には、利用規約など確認の上行ってください。

 

 

関連記事:

【PythonからWeb操作】seleniumのインストール手順 - Django Girls and Boys 備忘録

 

【PythonによるExcelファイルの読み書き】PythonのダウンロードからExcelファイルの読み書きまでの一通りすべての方法 - Django Girls and Boys 備忘録

 

【PythonでのExcelファイル読み書き方法】ファイルオープンしているファイル(アクティブファイル)への書込方法 - Django Girls and Boys 備忘録

 

【Python Selenium】Webサイトのスクレイピングなどで必要なフレーム間移動方法 - Django Girls and Boys 備忘録

 

【Python Selenium】ブラウザ用ドライバーのダウンロードとインストール - Django Girls and Boys 備忘録

 

【PythonからWeb操作】selenium、各ブラウザ用ドライバーの最新バージョン確認、ダウンロード場所 - Django Girls and Boys 備忘録

 

【Python Selenium】新規ウインドウ追加時のウインドウ切替方法 - Django Girls and Boys 備忘録

 

【Python Selenium】ウインドウ表示時などでのWaitの方法、待機方法 - Django Girls and Boys 備忘録

 

【Python Selenium】新規ウインドウ(新規タブ)追加時のウインドウ切替方法(追加ハンドルをハンドル差異比較にて取得) - Django Girls and Boys 備忘録

 

【python】実行時に表示されるコンソールウインドウを非表示にする方法 - Django Girls and Boys 備忘録

 

【Python Selenium】Webサイトのソースコードをファイル保存する方法 - Django Girls and Boys 備忘録

 

【Python】キーボード、キー入力判定方法 - Django Girls and Boys 備忘録

 

【Python】keyboardライブラリでのキー入力検出に使用可能なキーの種類 - Django Girls and Boys 備忘録