<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Selenium | リョクちゃの電脳日記</title>
	<atom:link href="https://dreamparadaisu.com/tag/selenium/feed/" rel="self" type="application/rss+xml" />
	<link>https://dreamparadaisu.com</link>
	<description>今まで学んできたことや、新たに学んだこと、趣味を通して様々な人と共有できたらなと思いはじめた電脳日記。</description>
	<lastBuildDate>Sun, 06 Nov 2022 15:55:42 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0</generator>
	<atom:link rel='hub' href='https://dreamparadaisu.com/?pushpress=hub'/>
<site xmlns="com-wordpress:feed-additions:1">180489529</site>	<item>
		<title>【Python勉強会】Seleniumを使ってGoogle検索した結果を取得</title>
		<link>https://dreamparadaisu.com/python_44/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=python_44</link>
		
		<dc:creator><![CDATA[リョクちゃ]]></dc:creator>
		<pubDate>Sun, 06 Nov 2022 15:55:42 +0000</pubDate>
				<category><![CDATA[Python]]></category>
		<category><![CDATA[Selenium]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[パソコン]]></category>
		<category><![CDATA[プログラム]]></category>
		<guid isPermaLink="false">https://dreamparadaisu.com/?p=3314</guid>

					<description><![CDATA[<p>どうも！リョクちゃです。   ネットサーフィンをしていると、ふと検索結果を一時的にでも セーブしておきたいときってありませんか？   例えば、Google検索でキーワード「今日の献立」で調べた時に、 下図のような結果が得...</p>
The post <a href="https://dreamparadaisu.com/python_44/">【Python勉強会】Seleniumを使ってGoogle検索した結果を取得</a> first appeared on <a href="https://dreamparadaisu.com">リョクちゃの電脳日記</a>.<div class='yarpp yarpp-related yarpp-related-rss yarpp-related-none yarpp-template-list'>

この投稿の関連記事が見つかりませんでした。
</div>
]]></description>
										<content:encoded><![CDATA[<p class="wp-block-paragraph">どうも！リョクちゃです。</p>
<p> </p>
<p>ネットサーフィンをしていると、ふと検索結果を一時的にでも</p>
<p>セーブしておきたいときってありませんか？</p>
<p> </p>
<p>例えば、Google検索でキーワード「今日の献立」で調べた時に、</p>
<p>下図のような結果が得られるかと思います。</p>
<p> </p>
<figure id="attachment_mmd_4795" class="wp-block-image aligncenter"><img decoding="async" width="961" height="907" src="https://dreamparadaisu.com/wp-content/uploads/2022/11/2b530e80c7d0de90885e285c5d798063.png" class="attachment-full size-full" alt="" loading="lazy" align="center" /></figure>
<p> </p>
<p>全ての結果を見るには、応える時がありませんか？</p>
<p> </p>
<p>今回は、Google検索して得られた結果をPython + Seleniumで</p>
<p>CSVファイル形式もしくは何らかの変数に格納する方法を簡単に紹介していきます。</p>
<p> </p>
<p>ちなみに前回はこちら</p>
<div class="blog-card internal-blog-card blog-card-thumbnail-right cf"><div class="blog-card-thumbnail"><a href="https://dreamparadaisu.com/python_43/" class="blog-card-thumbnail-link"><img width="100" height="100" src="https://dreamparadaisu.com/wp-content/uploads/2022/08/photo_6-100x100.png" class="blog-card-thumb-image wp-post-image" alt="" srcset="https://dreamparadaisu.com/wp-content/uploads/2022/08/photo_6-100x100.png 100w, https://dreamparadaisu.com/wp-content/uploads/2022/08/photo_6-150x150.png 150w, https://dreamparadaisu.com/wp-content/uploads/2022/08/photo_6-120x120.png 120w" sizes="(max-width: 100px) 100vw, 100px" /></a></div><div class="blog-card-content"><div class="blog-card-title"><a href="https://dreamparadaisu.com/python_43/" class="blog-card-title-link">【Python勉強会】与えられた数値が偶数か奇数かを判定する方法</a></div><div class="blog-card-excerpt">Pythonで与えられた数値に対して、それが偶数なのか、奇数なのかを判定する方法を簡単に紹介していきます。プログラミング学びたての人が初めに通る道でもあり、意外と簡単そうに見えて奥が深かったりもします。ここでは、簡単にかける方法と、それを踏まえた応用っぽい書き方をざっくりと。</div></div><div class="blog-card-footer"><div class="blog-card-site">dreamparadaisu.com</div><div class="blog-card-hatebu"><a href="//b.hatena.ne.jp/entry/https://dreamparadaisu.com/python_43/" rel="nofollow"><img src="//b.hatena.ne.jp/entry/image/https://dreamparadaisu.com/python_43/" alt="" /></a></div><div class="blog-card-date">2022-08-27 01:50</div></div></div>
<p> </p>
<p>Seleniumに関しては、こちらを参照ください。</p>
<div class="blog-card internal-blog-card blog-card-thumbnail-right cf"><div class="blog-card-thumbnail"><a href="https://dreamparadaisu.com/python_33/" class="blog-card-thumbnail-link"><img width="100" height="100" src="https://dreamparadaisu.com/wp-content/uploads/2020/08/python_18894-100x100.png" class="blog-card-thumb-image wp-post-image" alt="" srcset="https://dreamparadaisu.com/wp-content/uploads/2020/08/python_18894-100x100.png 100w, https://dreamparadaisu.com/wp-content/uploads/2020/08/python_18894-300x300.png 300w, https://dreamparadaisu.com/wp-content/uploads/2020/08/python_18894-150x150.png 150w, https://dreamparadaisu.com/wp-content/uploads/2020/08/python_18894-75x75.png 75w, https://dreamparadaisu.com/wp-content/uploads/2020/08/python_18894-120x120.png 120w, https://dreamparadaisu.com/wp-content/uploads/2020/08/python_18894.png 512w" sizes="(max-width: 100px) 100vw, 100px" /></a></div><div class="blog-card-content"><div class="blog-card-title"><a href="https://dreamparadaisu.com/python_33/" class="blog-card-title-link">【Python勉強会】Seleniumのインストールをしてみた～Google Chrome編～</a></div><div class="blog-card-excerpt">プログラムでブラウザの操作が自動化できればいいな？って思ったことはありませんか？今回は、Pythonでブラウザ操作を自動化してくれるSeleniumというライブラリをインストールする方法を紹介しています。章立てて連載していきます。何かしらの参考になれば嬉しいです。</div></div><div class="blog-card-footer"><div class="blog-card-site">dreamparadaisu.com</div><div class="blog-card-hatebu"><a href="//b.hatena.ne.jp/entry/https://dreamparadaisu.com/python_33/" rel="nofollow"><img src="//b.hatena.ne.jp/entry/image/https://dreamparadaisu.com/python_33/" alt="" /></a></div><div class="blog-card-date">2021-08-26 06:54</div></div></div>
<p> </p>
<p>今回、動作環境ですが、Jupyter Notebookを使用して検証を行います。</p>
<p>検証程度であれば、こちらの方が早いため、活用しています。</p>
<p>ブラウザには、Google Chromeを使用しています。</p>
<p> </p>
<h1>準備編：Seleniumの準備</h1>
<p>Jupyter Notebookを起動し、Seleniumをインポートし使える形にします。</p>
<p> </p>
<figure id="attachment_mmd_4794" class="wp-block-image aligncenter"><img decoding="async" width="680" height="177" src="https://dreamparadaisu.com/wp-content/uploads/2022/11/795316b92fc766b0181f6fef074f03fa.png" class="attachment-680x267 size-680x267" alt="" loading="lazy" align="center" /></figure>
<p> </p>
<p>実行すると、別ウィンドウでブラウザが立ち上がるかと思います。</p>
<figure id="attachment_mmd_4796" class="wp-block-image aligncenter"><img decoding="async" width="924" height="238" src="https://dreamparadaisu.com/wp-content/uploads/2022/11/c8856789ec11ab8b1013037cef6929f9.png" class="attachment-full size-full" alt="" loading="lazy" align="center" /></figure>
<p>対象となるページのURLを開く</p>
<p>ブラウザが立ち上がったら、今回対象となるWebページのURLを開きます。</p>
<p>対象のURL：https://www.google.com/?hl=ja</p>
<figure id="attachment_mmd_4797" class="wp-block-image aligncenter"><img decoding="async" width="680" height="90" src="https://dreamparadaisu.com/wp-content/uploads/2022/11/3a4f695a458cb0ac0aceaa2eb13ac2dd.png" class="attachment-680x135 size-680x135" alt="" loading="lazy" align="center" /></figure>
<p> </p>
<p>上図のIn[2]でurl変数に対象のURLを代入し、In[3]で立ち上がったブラウザに対して、</p>
<p>url変数を渡すことで、Webページを開いています。</p>
<p>以下、実行後のブラウザの状態になります。</p>
<p> </p>
<figure id="attachment_mmd_4798" class="wp-block-image aligncenter"><img decoding="async" width="920" height="608" src="https://dreamparadaisu.com/wp-content/uploads/2022/11/f96d9b4281f6d16b3c7589aed5a17be5.png" class="attachment-full size-full" alt="" loading="lazy" align="center" /></figure>
<p> </p>
<p>ここまでで検索をするまでの状態に整えることができました。</p>
<p>以降では、実際に検索をSeleniumを用いて実行し、検索結果を取得していきます。</p>
<p> </p>
<h1>Google検索をする</h1>
<p>検索キーワードには、「<strong>今日の献立</strong>」としておきます。</p>
<p> </p>
<p>まず、Google上で検索をするには、</p>
<ol>
<li>検索ボックスの要素を取得</li>
<li>1.で取得した検索ボックスに検索したいワードを入力</li>
<li>検索ボタンの要素を取得し実行</li>
</ol>
<p>1~3の処理を行うことで、Google検索をすることができます。</p>
<p>実際に、これらの処理をPythonで書いていきます。</p>
<p> </p>
<h2>検索ボックスの要素を取得</h2>
<p> </p>
<p>まず、Googleの検索ページで、検索ボックスとは何か？</p>
<p>これは下図の赤枠で示されるオブジェクトが検索ボックスになります。</p>
<p> </p>
<figure id="attachment_mmd_4801" class="wp-block-image aligncenter"><img decoding="async" width="680" height="450" src="https://dreamparadaisu.com/wp-content/uploads/2022/11/94ed160662be198949535a112047e9b4.png" class="attachment-680x678 size-680x678" alt="" loading="lazy" align="center" /></figure>
<p> </p>
<p>では、この検索ボックスはどうやって表されているのでしょうか。</p>
<p>それは、HTMLといわれる言語で表されています。</p>
<p>HTMLはWebページを構成するのに使われる言語になります。</p>
<p> </p>
<p>HTMLでは検索ボックスは、<figure id="attachment_mmd_4802" class="wp-block-image aligncenter"><img decoding="async" width="544" height="106" src="https://dreamparadaisu.com/wp-content/uploads/2022/11/f4a1b0aed5dc02442c433030ff24c031.png" class="attachment-full size-full" alt="" loading="lazy" align="center" /></figure>
<p>上図のHTMLの構成で表されています。</p>
<p> </p>
<p>ここではHTMLについては深くは紹介しませんが、</p>
<p>Seleniumを扱う場合は、HTMLの理解もある程度必要になってきます。</p>
<p> </p>
<p>検索ボックスが表されているHTMLがわかったので、</p>
<p>これより検索ボックスを取得してみます。</p>
<p> </p>
<p>取得するには、</p>
<pre class="lang:python decode:true">elem_searchBox = browser.find_element_by_name('q')</pre>
<p>とすることで、検索ボックスを取得することができます。</p>
<p>ここでは、elem_searchBoxと定めた変数に、find_element_by_nameメソッドで</p>
<p>返ってきた結果を代入しています。</p>
<p> </p>
<p>browser変数には、先ほど立ち上げたブラウザ情報が代入されています。</p>
<p>ちなみにbrowser変数の型としては、</p>
<figure id="attachment_mmd_4803" class="wp-block-image aligncenter"><img decoding="async" width="478" height="74" src="https://dreamparadaisu.com/wp-content/uploads/2022/11/8aa09ea6d7822fbb10331635d428d488.png" class="attachment-full size-full" alt="" loading="lazy" align="center" /></figure>
<p>となり、WebDriberのfind_element_by_nameメソッドを使用して、</p>
<p>検索ボックスを取得します。</p>
<p> </p>
<p>find_element_by_nameメソッドに引数として、対象のWebページ内で</p>
<p>検索ボックスを表すタグの値を渡してあげます。</p>
<p> </p>
<p>検索ボックスを構成するHTMLでは、nameというタグがありました。</p>
<p>また、nameというタグには&#8221;q&#8221;といった値が代入されていました。</p>
<p>したがって、<span style="text-decoration: underline">nameタグの<strong>q</strong>と指定</span>してやれば、検索ボックスが取得できます。</p>
<p> </p>
<h2>検索ボックスにキーワードを入力</h2>
<p>取得できた検索ボックスに対して、キーワードを入力するには、</p>
<p>取得した要素オブジェクトのsend_keysメソッドを使用することで、</p>
<p>検索ボックスに対して入力ができます。</p>
<p> </p>
<p>こんな風になります。</p>
<pre class="lang:python decode:true ">elem_searchBox.send_keys("[検索したいキーワード]")</pre>
<p> </p>
<p>例えば、検索したいキーワードに&#8221;今日の献立&#8221;と入力したい場合、</p>
<pre class="lang:python decode:true ">elem_searchBox.send_keys("今日の献立")</pre>
<p> </p>
<p>実行してみると、</p>
<figure id="attachment_mmd_4804" class="wp-block-image aligncenter"><img decoding="async" width="918" height="604" src="https://dreamparadaisu.com/wp-content/uploads/2022/11/f36fc0458607842cbf0775516687491b.png" class="attachment-full size-full" alt="" loading="lazy" align="center" /></figure>
<p> </p>
<h2>検索ボタンの要素を取得し実行</h2>
<p>ここまでできたら、後は実際に検索をするのみです。</p>
<p>検索ボックスを取得した要領で、検索ボタンを取得していきます。</p>
<p> </p>
<p>ちなみに検索ボタンは、以下のようにGoogleのページでは構成されています。</p>
<p> </p>
<figure id="attachment_mmd_4805" class="wp-block-image aligncenter"><img decoding="async" width="540" height="62" src="https://dreamparadaisu.com/wp-content/uploads/2022/11/e99cc3808964d9e08ec8fb27d43842de.png" class="attachment-full size-full" alt="" loading="lazy" align="center" /></figure>
<p> </p>
<p>同様に、find_element_by_nameメソッドを使用して、検索ボタンを取得します。</p>
<p> </p>
<p>コードで表すと</p>
<pre class="lang:python decode:true ">elem_btnSearch = browser.find_element_by_name('btnK')</pre>
<p>となります。</p>
<p> </p>
<p>これで検索ボタンを取得することができました。</p>
<p>次は、取得した検索ボタンを押すにはどうしたらいいでしょうか？</p>
<p> </p>
<p>これもseleniumでサポートされているメソッドである、click()メソッドを使用することで、</p>
<p>押すことができます。</p>
<p> </p>
<p>こんな風に</p>
<pre class="lang:python decode:true ">elem_btnSearch.click()</pre>
<p> </p>
<p>実行すると</p>
<figure id="attachment_mmd_4807" class="wp-block-image aligncenter"><img decoding="async" width="977" height="1020" src="https://dreamparadaisu.com/wp-content/uploads/2022/11/b1db37a1df6c6332fc8bdf704e9d1e49.png" class="attachment-full size-full" alt="" loading="lazy" align="center" /></figure>
<p>検索ボタンを押して、検索をすることができました。</p>
<p> </p>
<p>さて、ここからが本題です。</p>
<p>検索した結果を、取得していきたいと思います。</p>
<p> </p>
<h2>検索した結果をまとめて取得</h2>
<p> </p>
<p>1件1件の検索結果は、調べてみると、</p>
<figure id="attachment_mmd_4808" class="wp-block-image aligncenter"><img decoding="async" width="680" height="143" src="https://dreamparadaisu.com/wp-content/uploads/2022/11/1249f2682be7181f6a6266c99ee5cae6.png" class="attachment-680x216 size-680x216" alt="" loading="lazy" align="center" /></figure>
<p> </p>
<div class="sp-info">class=&#8221;MjjYud&#8221;</div>
<p>どうやら、classタグの&#8221;MjjYud&#8221;で統一されているようです。</p>
<p>つまり、これを複数取得すれば、検索結果をまとめて得ることができそうです。</p>
<p> </p>
<p>複数取得するには、find_element<span style="color: #ff0000">s</span>_by_class_nameメソッドを使います。</p>
<p>先ほどとは違い、find_elementの後にsが付いています。</p>
<p>sが付くことで同名のオブジェクトを複数取得することができます。</p>
<p> </p>
<p>また、class_nameでは、classタグの引数に渡された値を持つオブジェクトを</p>
<p>取得してくれます。</p>
<p>したがって、MjjYudを持つ同名のオブジェクトをまとめて取得することができます。</p>
<p> </p>
<p>コードで表すと</p>
<pre class="lang:python decode:true ">elems_rec = browser.find_elements_by_class_name('MjjYud')</pre>
<p> </p>
<p>結果がいくつ収められているか確認してみます。</p>
<pre class="lang:python decode:true">elems_rec = browser.find_elements_by_class_name('MjjYud')
len(elems_rec)</pre>
<p> </p>
<figure id="attachment_mmd_4809" class="wp-block-image aligncenter"><img decoding="async" width="274" height="78" src="https://dreamparadaisu.com/wp-content/uploads/2022/11/ad328257df3c27d0237be29c2f1fd87c.png" class="attachment-full size-full" alt="" loading="lazy" align="center" /></figure>
<p> </p>
<p>elems_recには11個のMjjYudを持つオブジェクト(検索結果)が</p>
<p>代入されているのがわかります。</p>
<p> </p>
<p>ここまでで検索結果をまとめて、取得することができました。</p>
<p> </p>
<p>最後に、ここからタイトルとページのURLを取得して、一覧を作成していきます。</p>
<p> </p>
<h2>検索結果のタイトルとページのURLを取得</h2>
<p>下図におけるタイトルとURLを取得していきます。</p>
<p>先ほどの複数取得した結果の1つから、タイトルとページのURLを抜き出してみます。</p>
<figure id="attachment_mmd_4810" class="wp-block-image aligncenter"><img decoding="async" width="680" height="407" src="https://dreamparadaisu.com/wp-content/uploads/2022/11/90b0dfa136419ccc91fda6fec27764ca.png" class="attachment-680x612 size-680x612" alt="" loading="lazy" align="center" /></figure>
<p> </p>
<p>まず、タイトルについては、</p>
<figure id="attachment_mmd_4814" class="wp-block-image aligncenter"><img decoding="async" width="380" height="226" src="https://dreamparadaisu.com/wp-content/uploads/2022/11/88ed93005e0cb97394dcb2f41037a9e6.png" class="attachment-full size-full" alt="" loading="lazy" align="center" /></figure>
<p>どうやら、h3タグに収められているようです。</p>
<p>※今回の検索では、いずれもh3タグに収められていました。</p>
<p> </p>
<p>URLについては、</p>
<figure id="attachment_mmd_4812" class="wp-block-image aligncenter"><img decoding="async" width="538" height="108" src="https://dreamparadaisu.com/wp-content/uploads/2022/11/1229c317e01c766a53c2709efe066b18.png" class="attachment-full size-full" alt="" loading="lazy" align="center" /></figure>
<p>aタグのhref属性にURLが記述されているようです。</p>
<p> </p>
<p>もしくは、</p>
<figure id="attachment_mmd_4813" class="wp-block-image aligncenter"><img decoding="async" width="358" height="110" src="https://dreamparadaisu.com/wp-content/uploads/2022/11/085f435ecdb57e7076774ccbc381f72e.png" class="attachment-full size-full" alt="" loading="lazy" align="center" /></figure>
<p>citeタグからもURLが取得できそうです。</p>
<p> </p>
<p>タイトルもURLもいずれもHTML構成でいうとaタグの中に含まれていますね。</p>
<p>そのため、aタグを起点にそれぞれの情報を抽出していきます。</p>
<p> </p>
<h3>タイトルの取得</h3>
<pre class="lang:python decode:true">elem_title = elems_rec[0].find_element_by_tag_name('a').find_element_by_tag_name('h3')
</pre>
<p> </p>
<h3>URLの取得</h3>
<pre class="lang:python decode:true">elem_Url = elems_rec[0].find_element_by_tag_name('a').get_attribute('href')</pre>
<p> </p>
<p>検索結果が代入されたelems_rec変数の1番目の検索結果から、</p>
<p>タイトルとURLを抽出しています。</p>
<p> </p>
<p>タイトルでは、aタグを起点にh3タグの情報を取得しています。</p>
<p>一方でURLは、aタグに含まれるhref属性の情報を取得しています。</p>
<p> </p>
<p>最終的には、結果を辞書変数に代入していきます。</p>
<pre class="lang:python decode:true">dictRec = {elem_title.text:elem_Url}</pre>
<p> </p>
<figure id="attachment_mmd_4816" class="wp-block-image aligncenter"><img decoding="async" width="872" height="64" src="https://dreamparadaisu.com/wp-content/uploads/2022/11/485aac62cea3d548d1555ce3bfa037e6-1.png" class="attachment-full size-full" alt="" loading="lazy" align="center" /></figure>
<p> </p>
<p>あとは、これをループ処理を駆使すれば、検索結果一覧が取得できます。</p>
<pre class="lang:python decode:true">dictRec = {}
for elem_tag in elems_rec:
    try:
        elem_Url = elem_tag.find_element_by_tag_name('a').get_attribute('href')
        elem_title = elem_tag.find_element_by_tag_name('a').find_element_by_tag_name('h3')
        dictRec[elem_title.text] = elem_Url
    except Exception as e:
        continue</pre>
<p>※一部でエラーが発生するため、try~exceptで例外をキャッチし、</p>
<p>ループ内を全ての検索結果が1回は処理されるようにしています。</p>
<p> </p>
<p>結果は下図のようになります。</p>
<figure id="attachment_mmd_4817" class="wp-block-image aligncenter"><img decoding="async" width="680" height="119" src="https://dreamparadaisu.com/wp-content/uploads/2022/11/aeb80bad1055d60bd4b8dc8204f77f1c.png" class="attachment-680x180 size-680x180" alt="" loading="lazy" align="center" /></figure>
<p> </p>
<p>ちなみにエラーとなっていたのが、下図の赤枠の部分です。</p>
<p>こちらは、MjjYudは同じなのですが、以降のタグ構成が変わっており、</p>
<p>正しく取得ができないため、エラーとなってしまいます。</p>
<p>※もう少し検証が必要ですね……。</p>
<figure id="attachment_mmd_4818" class="wp-block-image aligncenter"><img decoding="async" width="680" height="718" src="https://dreamparadaisu.com/wp-content/uploads/2022/11/51e8fc29fa61692e70bc4c925b602ad0.png" class="attachment-680x1024 size-680x1024" alt="" loading="lazy" align="center" /></figure>
<p> </p>
<p>エラーは出ましたが、何とか、まとめて取得することができました。</p>
<p> </p>
<h1>まとめ</h1>
<p>Python + Seleniumを活用して、Google検索した結果をまとめて取得し変数に格納しておく</p>
<p>方法について簡単に紹介していきました。</p>
<p> </p>
<p>外部ファイルへの出力も、複数取得した検索結果から、最終的にタイトルとURLを取得した、ペアを1行ずつに落とし込めば、ファイル出力も可能です。</p>
<p> </p>
<p>本記事で、Seleniumを扱う場合の工夫など参考にできる部分があると嬉しいです。</p>
<p> </p>
<p>最後までお読みいただきありがとうございます。</p>
<p> </p>
<p><strong><em>・こちらの書籍を参考にPythonの理解を深めました。</em></strong> <div class="wpap-tpl wpap-tpl-detail wpap-tpl-rakuten-books"><a href="https://hb.afl.rakuten.co.jp/hgc/g00q0728.wj9ire09.g00q0728.wj9isd7f/?pc=https%3A%2F%2Fbooks.rakuten.co.jp%2Frb%2F12223744%2F%3Frafcid%3Dwsc_b_ts_1064955924733071255" rel="nofollow" class="wpap-link" target="_blank" data-click-tracking="楽天ブックス 9784798130804 空飛ぶPython即時開発指南書"><div class="wpap-image"><img decoding="async" src="https://thumbnail.image.rakuten.co.jp/@0_mall/book/cabinet/0804/9784798130804.jpg?_ex=200x200" alt="空飛ぶPython即時開発指南書" /></div><p class="wpap-title">空飛ぶPython即時開発指南書</p><div class="wpap-creator">ナオミ・セダー, 新丈径</div><div class="wpap-price">3,080円<span class="wpap-date">(06/13 09:15時点)</span></div><div class="wpap-service">楽天ブックス</div></a></div></p>
<div class="wpap-tpl wpap-tpl-detail wpap-tpl-rakuten-books"><a href="https://hb.afl.rakuten.co.jp/hgc/g00q0728.wj9ire09.g00q0728.wj9isd7f/?pc=https%3A%2F%2Fbooks.rakuten.co.jp%2Frb%2F13819463%2F%3Frafcid%3Dwsc_b_ts_1064955924733071255" rel="nofollow" class="wpap-link" target="_blank" data-click-tracking="楽天ブックス 9784797384406 確かな力が身につくPython「超」入門"><div class="wpap-image"><img decoding="async" src="https://thumbnail.image.rakuten.co.jp/@0_mall/book/cabinet/4406/9784797384406.jpg?_ex=200x200" alt="確かな力が身につくPython「超」入門" /></div><p class="wpap-title">確かな力が身につくPython「超」入門</p><div class="wpap-creator">鎌田正浩</div><div class="wpap-price">2,728円<span class="wpap-date">(06/13 09:15時点)</span></div><div class="wpap-service">楽天ブックス</div></a></div>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
		<div class="wpulike wpulike-default " ><div class="wp_ulike_general_class wp_ulike_is_restricted"><button type="button"
					aria-label="いいねボタン"
					data-ulike-id="3314"
					data-ulike-nonce="bcfe527b6b"
					data-ulike-type="post"
					data-ulike-template="wpulike-default"
					data-ulike-display-likers=""
					data-ulike-likers-style="popover"
					class="wp_ulike_btn wp_ulike_put_image wp_post_btn_3314"></button><span class="count-box wp_ulike_counter_up" data-ulike-counter-value="0"></span>			</div></div>The post <a href="https://dreamparadaisu.com/python_44/">【Python勉強会】Seleniumを使ってGoogle検索した結果を取得</a> first appeared on <a href="https://dreamparadaisu.com">リョクちゃの電脳日記</a>.<div class='yarpp yarpp-related yarpp-related-rss yarpp-related-none yarpp-template-list'>
<p>この投稿の関連記事が見つかりませんでした。</p>
</div>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">3314</post-id>	</item>
		<item>
		<title>【Python勉強会】Web上の表をExcelに出力してみた</title>
		<link>https://dreamparadaisu.com/python_41/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=python_41</link>
		
		<dc:creator><![CDATA[リョクちゃ]]></dc:creator>
		<pubDate>Mon, 18 Jul 2022 21:00:35 +0000</pubDate>
				<category><![CDATA[Python]]></category>
		<category><![CDATA[Selenium]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[プログラム]]></category>
		<category><![CDATA[自動化]]></category>
		<guid isPermaLink="false">https://dreamparadaisu.com/?p=4376</guid>

					<description><![CDATA[<p>どうも！リョクちゃです！ &#160; 大変ご無沙汰しております。記事が更新できないまま、1カ月以上経過していました。 生活が激変(転職による影響)してから全然でした、、、。 &#160; とはいうものの、転職してからプ...</p>
The post <a href="https://dreamparadaisu.com/python_41/">【Python勉強会】Web上の表をExcelに出力してみた</a> first appeared on <a href="https://dreamparadaisu.com">リョクちゃの電脳日記</a>.<div class='yarpp yarpp-related yarpp-related-rss yarpp-related-none yarpp-template-list'>

この投稿の関連記事が見つかりませんでした。
</div>
]]></description>
										<content:encoded><![CDATA[<p>どうも！リョクちゃです！</p>
<p>&nbsp;</p>
<p>大変ご無沙汰しております。記事が更新できないまま、1カ月以上経過していました。</p>
<p>生活が激変(転職による影響)してから全然でした、、、。</p>
<p>&nbsp;</p>
<p>とはいうものの、転職してからプログラミングする機会がなくなってしまい、</p>
<p>全然触れていませんでした。。。</p>
<p>&nbsp;</p>
<p>さて、今回はSeleniumとPandasを活用してWeb上に表示されている表を取得し、</p>
<p>最終的にExcel形式で保存する方法について簡単に紹介していきます。</p>
<p>&nbsp;</p>
<p>ちなみに前回はこちら</p>
<div class="blog-card internal-blog-card blog-card-thumbnail-right cf"><div class="blog-card-thumbnail"><a href="https://dreamparadaisu.com/python_40/" class="blog-card-thumbnail-link"><img width="100" height="100" src="https://dreamparadaisu.com/wp-content/uploads/2022/01/sakura_2_17-100x100.png" class="blog-card-thumb-image wp-post-image" alt="" srcset="https://dreamparadaisu.com/wp-content/uploads/2022/01/sakura_2_17-100x100.png 100w, https://dreamparadaisu.com/wp-content/uploads/2022/01/sakura_2_17-150x150.png 150w, https://dreamparadaisu.com/wp-content/uploads/2022/01/sakura_2_17-120x120.png 120w" sizes="(max-width: 100px) 100vw, 100px" /></a></div><div class="blog-card-content"><div class="blog-card-title"><a href="https://dreamparadaisu.com/python_40/" class="blog-card-title-link">【Python勉強会】さくらサーバで.pyファイルを実行する～レンタルサーバを活用しよう～</a></div><div class="blog-card-excerpt">前回に続き(https://dreamparadaisu.com/python_39/)さくらサーバで実際にPythonを実行してみたので記事にしています。レンタルサーバの中でもさくらサーバを活用して、Pythonを定時実行したい場合の参考になれば嬉しいです。</div></div><div class="blog-card-footer"><div class="blog-card-site">dreamparadaisu.com</div><div class="blog-card-hatebu"><a href="//b.hatena.ne.jp/entry/https://dreamparadaisu.com/python_40/" rel="nofollow"><img src="//b.hatena.ne.jp/entry/image/https://dreamparadaisu.com/python_40/" alt="" /></a></div><div class="blog-card-date">2022-01-14 03:21</div></div></div>
<p>&nbsp;</p>
<div><a href="https://px.a8.net/svt/ejp?a8mat=3N1PW3+3RQUPE+D8Y+61JSH" rel="nofollow">
<img decoding="async" class="aligncenter" src="https://www27.a8.net/svt/bgt?aid=220109907228&amp;wid=001&amp;eno=01&amp;mid=s00000001717001015000&amp;mc=1" alt="" width="468" height="60" border="0"></a>
<img decoding="async" class="aligncenter" src="https://www11.a8.net/0.gif?a8mat=3N1PW3+3RQUPE+D8Y+61JSH" alt="" width="1" height="1" border="0"></div>
<p>&nbsp;</p>
<h1>Web上に表示されているテーブルデータ(表)</h1>
<p>下図のような表をテーブルデータと、ここでは扱っています。</p>
<figure id="attachment_mmd_4377" class="wp-block-image aligncenter"><img decoding="async" width="1023" height="985" src="https://dreamparadaisu.com/wp-content/uploads/2022/07/selenium_pandas_01.png" class="attachment-full size-full" alt="" loading="lazy" align="center" /></figure>
<p>※一例として、Yahooファイナンスのページを引用しております。</p>
<p>&nbsp;</p>
<p>Web上では、図のように表示された表をテーブルデータといいます。</p>
<p>今回は、これを取得して、Excel形式で保存をしていきます。</p>
<p>&nbsp;</p>
<h1>テーブルデータ取得への道</h1>
<p>Web上の表を取得するには、ざっと下のような流れで作業を細分化できます。</p>
<p>&nbsp;</p>
<p>①　Web上で取得したい表を形成するtableタグを探し・抽出</p>
<p>②　抽出した情報のHTMLを取得</p>
<p>③　PandasでHTMLを読込み、listに変換</p>
<p>④　listからDataFrameへ変換</p>
<p>⑤　DataFrameからExcel形式に出力(保存)</p>
<p>&nbsp;</p>
<p>①～⑤の流れを進めることで、最終的にExcel形式に出力することができちゃいます。</p>
<p>1つ1つ順を追って説明していきます。</p>
<p>※取得したい表が掲載されているURLの選定はここでは作業の流れに含んでおりません。</p>
<p>各々でURLは見つけてみて下さい。</p>
<h2>Web上で取得したい表を形成するtableタグを探し・抽出</h2>
<p>今回は、&#8221;<a href="https://kisetsumimiyori.com/toumorokoshiranking/">とうもろこしの生産量ランキング(都道府県別)</a>&#8220;のページから</p>
<p>都道府県別にまとめられたとうもろこしの生産量の表を取得していきます。</p>
<figure id="attachment_mmd_4378" class="wp-block-image aligncenter"><img decoding="async" width="572" height="780" src="https://dreamparadaisu.com/wp-content/uploads/2022/07/selenium_pandas_02.png" class="attachment-full size-full" alt="" loading="lazy" align="center" /></figure>
<p>こちらの表を取得したいと思います。</p>
<p>&nbsp;</p>
<p>まずはこの表がどんな構成でWebページ上に表示されているかを解析していきます。</p>
<p>ここではブラウザを<span style="text-decoration: underline"><strong>Chrome</strong></span>として説明していきます。</p>
<p>&nbsp;</p>
<p>Chromeで対象のURLを開き、右クリックし「検証」を押します。</p>
<p>下図のようなイメージになります。</p>
<figure id="attachment_mmd_2896" class="wp-block-image aligncenter"><img decoding="async" width="680" height="391" src="https://dreamparadaisu.com/wp-content/uploads/2021/08/selenium_11.png" class="attachment-680x588 size-680x588" alt="" loading="lazy" align="center" /></figure>
<p>&nbsp;</p>
<p>「検証」をクリックすると、ページを構成するHTMLがブラウザ上に表示されます。</p>
<figure id="attachment_mmd_2897" class="wp-block-image aligncenter"><img decoding="async" width="680" height="254" src="https://dreamparadaisu.com/wp-content/uploads/2021/08/selenium_12.png" class="attachment-680x382 size-680x382" alt="" loading="lazy" align="center" /></figure>
<p>HTMLから取得したい表を形成するtableタグを探していきます。</p>
<p>&nbsp;</p>
<p>今回取得したい&#8221;都道府県別とうもろこしの生産量&#8221;の表は、</p>
<p>下図に示すtableタグで表が形成されていました。</p>
<figure id="attachment_mmd_4379" class="wp-block-image aligncenter"><img decoding="async" width="680" height="405" src="https://dreamparadaisu.com/wp-content/uploads/2022/07/selenium_pandas_03.png" class="attachment-680x610 size-680x610" alt="" loading="lazy" align="center" /></figure>
<p>&nbsp;</p>
<p>このtableタグを取得するには、tableタグ上で右クリックをし、「Copy」にカーソルを当て、</p>
<p>表示される項目から今回は、「Copy selector」を選びます。(下図)</p>
<figure id="attachment_mmd_4380" class="wp-block-image aligncenter"><img decoding="async" width="680" height="482" src="https://dreamparadaisu.com/wp-content/uploads/2022/07/selenium_pandas_04.png" class="attachment-680x727 size-680x727" alt="" loading="lazy" align="center" /></figure>
<p>&nbsp;</p>
<p>これでtableタグを取得することができました。</p>
<p>&nbsp;</p>
<p>ここまでをSeleniumを活用してプログラムを書くと、以下のようになります。
</p><pre class="urvanov-syntax-highlighter-plain-tag">from selenium import webdriver

# Chromeを立ち上げる
browser = webdriver.Chrome()

# URLを設定
url = "https://kisetsumimiyori.com/toumorokoshiranking/"

# URLを表示
browser.get(url)

#　対象のURLからTable情報をゲットする
elem_tableTag = browser.find_element_by_css_selector('#entry &gt; section &gt; table')</pre><p></p>
<h2>抽出した情報のHTMLを取得</h2>
<p>抽出したTableタグを含むHTML情報を取得するには、</p>
<p>取得したTableタグのouterHTMLプロパティを取得します。</p>
<p>&nbsp;</p>
<p>この作業は、、、</p>
<p>Tableタグだけでは後続で活用するPandasでは使えないため、</p>
<p>outerHTMLで取得した情報を渡す必要があります。</p>
<p>&nbsp;</p>
<p>outerHTMLプロパティを取得するには
</p><pre class="urvanov-syntax-highlighter-plain-tag"># TableタグからouterHTMLプロパティを取得する
html = elem_tableTag.get_attribute('outerHTML')</pre><p>
&nbsp;</p>
<h2>PandasでHTMLを読込み、listに変換</h2>
<p>次にouterHTMLの情報をPandasのread_htmlメソッドを使って、list形式に変換します。</p>
<p>※当初、read_htmlメソッドで変換される形式はDataFrameかと勘違いしていました。</p>
<p>&nbsp;
</p><pre class="urvanov-syntax-highlighter-plain-tag"># Tableタグから抽出したouterHTML情報をPandasでlist形式へ変換
lstTable = pd.read_html(html)

# 念のため、型を確認
print(type(lstTable))

# Tableタグが取得できているか確認
print(lstTable)</pre><p>
※　import Pandas as pdを忘れずに。</p>
<p>&nbsp;</p>
<p>ここまでで、表情報の取得ができています。</p>
<figure id="attachment_mmd_4381" class="wp-block-image aligncenter"><img decoding="async" width="303" height="362" src="https://dreamparadaisu.com/wp-content/uploads/2022/07/selenium_pandas_05.png" class="attachment-full size-full" alt="" loading="lazy" align="center" /></figure>
<p>&nbsp;</p>
<h2>listからDataFrameへ変換</h2>
<p>ここまででExcelへ保存することをしたかったのですが、、、</p>
<p>list形式からExcelに出力するのがPandasで用意されているto_excelメソッドでは</p>
<p>できないため、DataFrameへ変換をします。</p>
<p>&nbsp;</p>
<p>list形式からDataFrameへの変換は
</p><pre class="urvanov-syntax-highlighter-plain-tag"># list形式からDataFrameへ変換
df = pd.DataFrame(data=lstTable[0])

# 念のため、型を確認
print(type(df))</pre><p>
&nbsp;</p>
<p>DataFrameへ変換するには、Pandas.DataFrameメソッドを使用します。</p>
<p>ここでは、Pandasをインポートする際にpdと呼称しているので、</p>
<p>pd.DataFrameとなっています。</p>
<p>&nbsp;</p>
<p>引数として、前述でlist形式に変換された<span style="text-decoration: underline">Table情報の0番目</span>を渡しています。</p>
<p>※Web上に複数の表があれば、もしかしたらインデックスを指定して、</p>
<p>一度のアクセス(Seleniumからの)で好きな表を取得できると思います。</p>
<p>&nbsp;</p>
<h2>DataFrameからExcel形式に出力(保存)</h2>
<p>最後にDataFrameからExcel形式に出力をしていきます。</p>
<p>ここでは、to_excelメソッドを使います。</p>
<p>&nbsp;
</p><pre class="urvanov-syntax-highlighter-plain-tag"># Excel形式で出力
df.to_excel('output_test.xlsx')</pre><p>
&nbsp;</p>
<p>output_test.xlsxという名前でExcelファイルとして出力がされます。</p>
<p>下図のような形で出力がされています。</p>
<figure id="attachment_mmd_4386" class="wp-block-image aligncenter"><img decoding="async" width="403" height="409" src="https://dreamparadaisu.com/wp-content/uploads/2022/07/selenium_pandas_06.png" class="attachment-full size-full" alt="" loading="lazy" align="center" /></figure>
<p>&nbsp;</p>
<h1>まとめ</h1>
<p>Web上のテーブルデータ(表)をSeleniumとPandasを活用して、</p>
<p>Excel形式に出力する方法を簡単に紹介していきました。</p>
<p>&nbsp;</p>
<p>SeleniumではTableタグとそれのouterHTMLプロパティを取得し、</p>
<p>Pandasでは取得した情報をDataFrameへと変換し、Excel形式に出力</p>
<p>といった作業をそれぞれ行わせています。</p>
<p>&nbsp;</p>
<p>わざわざPandasを使わなくてもExcelへの出力はできますが、</p>
<p>モジュールを活用することで、コードを書く工数を削減できるため便利です。</p>
<p>&nbsp;</p>
<p>他にもこれを応用して様々なテーブルデータを取得することができれば、</p>
<p>Excelに出力することも可能かと思います。</p>
<p>※Tableタグがあるもの</p>
<p>&nbsp;</p>
<p>参考になれば嬉しいです。色々活用していただけたらと思います。</p>
<p>&nbsp;</p>
<p>最後までお読みいただき、ありがとうございます。</p>
<p>これからも継続して書きつづっていきます。</p>
<p>&nbsp;</p>
<p>よろしくお願いします！</p>
<p>&nbsp;</p>
<p><strong><em>・こちらの書籍を参考にPythonの理解を深めました。</em></strong></p>
<div class="wpap-tpl wpap-tpl-detail wpap-tpl-rakuten-books"><a href="https://hb.afl.rakuten.co.jp/hgc/g00q0728.wj9ire09.g00q0728.wj9isd7f/?pc=https%3A%2F%2Fbooks.rakuten.co.jp%2Frb%2F12223744%2F%3Frafcid%3Dwsc_b_ts_1064955924733071255" rel="nofollow" class="wpap-link" target="_blank" data-click-tracking="楽天ブックス 9784798130804 空飛ぶPython即時開発指南書"><div class="wpap-image"><img decoding="async" src="https://thumbnail.image.rakuten.co.jp/@0_mall/book/cabinet/0804/9784798130804.jpg?_ex=200x200" alt="空飛ぶPython即時開発指南書" /></div><p class="wpap-title">空飛ぶPython即時開発指南書</p><div class="wpap-creator">ナオミ・セダー, 新丈径</div><div class="wpap-price">3,080円<span class="wpap-date">(06/13 09:15時点)</span></div><div class="wpap-service">楽天ブックス</div></a></div>
<div class="wpap-tpl wpap-tpl-detail wpap-tpl-rakuten-books"><a href="https://hb.afl.rakuten.co.jp/hgc/g00q0728.wj9ire09.g00q0728.wj9isd7f/?pc=https%3A%2F%2Fbooks.rakuten.co.jp%2Frb%2F13819463%2F%3Frafcid%3Dwsc_b_ts_1064955924733071255" rel="nofollow" class="wpap-link" target="_blank" data-click-tracking="楽天ブックス 9784797384406 確かな力が身につくPython「超」入門"><div class="wpap-image"><img decoding="async" src="https://thumbnail.image.rakuten.co.jp/@0_mall/book/cabinet/4406/9784797384406.jpg?_ex=200x200" alt="確かな力が身につくPython「超」入門" /></div><p class="wpap-title">確かな力が身につくPython「超」入門</p><div class="wpap-creator">鎌田正浩</div><div class="wpap-price">2,728円<span class="wpap-date">(06/13 09:15時点)</span></div><div class="wpap-service">楽天ブックス</div></a></div>
<p>&nbsp;</p>		<div class="wpulike wpulike-default " ><div class="wp_ulike_general_class wp_ulike_is_restricted"><button type="button"
					aria-label="いいねボタン"
					data-ulike-id="4376"
					data-ulike-nonce="5f0284493e"
					data-ulike-type="post"
					data-ulike-template="wpulike-default"
					data-ulike-display-likers=""
					data-ulike-likers-style="popover"
					class="wp_ulike_btn wp_ulike_put_image wp_post_btn_4376"></button><span class="count-box wp_ulike_counter_up" data-ulike-counter-value="0"></span>			</div></div>The post <a href="https://dreamparadaisu.com/python_41/">【Python勉強会】Web上の表をExcelに出力してみた</a> first appeared on <a href="https://dreamparadaisu.com">リョクちゃの電脳日記</a>.<div class='yarpp yarpp-related yarpp-related-rss yarpp-related-none yarpp-template-list'>
<p>この投稿の関連記事が見つかりませんでした。</p>
</div>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">4376</post-id>	</item>
		<item>
		<title>【Python勉強会】Seleniumのインストールをしてみた～Firefox編～</title>
		<link>https://dreamparadaisu.com/python_36/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=python_36</link>
		
		<dc:creator><![CDATA[リョクちゃ]]></dc:creator>
		<pubDate>Wed, 08 Sep 2021 20:40:20 +0000</pubDate>
				<category><![CDATA[Python]]></category>
		<category><![CDATA[Selenium]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[プログラム]]></category>
		<guid isPermaLink="false">https://dreamparadaisu.com/?p=2952</guid>

					<description><![CDATA[<p>どうも！リョクちゃです。 &#160; 今回は、Seleniumというライブラリをインストールし、 ブラウザ操作の自動化が行えるようになる準備となります。 &#160; 前々回ぐらいからGoogleChrome、Micr...</p>
The post <a href="https://dreamparadaisu.com/python_36/">【Python勉強会】Seleniumのインストールをしてみた～Firefox編～</a> first appeared on <a href="https://dreamparadaisu.com">リョクちゃの電脳日記</a>.<div class='yarpp yarpp-related yarpp-related-rss yarpp-related-none yarpp-template-list'>

この投稿の関連記事が見つかりませんでした。
</div>
]]></description>
										<content:encoded><![CDATA[<p>どうも！リョクちゃです。</p>
<p>&nbsp;</p>
<p>今回は、Seleniumというライブラリをインストールし、</p>
<p>ブラウザ操作の自動化が行えるようになる準備となります。</p>
<p>&nbsp;</p>
<p>前々回ぐらいからGoogleChrome、Microsoft Edgeに続き、</p>
<p>Forefoxでの紹介になります。</p>
<p>&nbsp;</p>
<p>Google Chrome編</p>
<div class="blog-card internal-blog-card blog-card-thumbnail-right cf"><div class="blog-card-thumbnail"><a href="https://dreamparadaisu.com/python_33/" class="blog-card-thumbnail-link"><img width="100" height="100" src="https://dreamparadaisu.com/wp-content/uploads/2020/08/python_18894-100x100.png" class="blog-card-thumb-image wp-post-image" alt="" srcset="https://dreamparadaisu.com/wp-content/uploads/2020/08/python_18894-100x100.png 100w, https://dreamparadaisu.com/wp-content/uploads/2020/08/python_18894-300x300.png 300w, https://dreamparadaisu.com/wp-content/uploads/2020/08/python_18894-150x150.png 150w, https://dreamparadaisu.com/wp-content/uploads/2020/08/python_18894-75x75.png 75w, https://dreamparadaisu.com/wp-content/uploads/2020/08/python_18894-120x120.png 120w, https://dreamparadaisu.com/wp-content/uploads/2020/08/python_18894.png 512w" sizes="(max-width: 100px) 100vw, 100px" /></a></div><div class="blog-card-content"><div class="blog-card-title"><a href="https://dreamparadaisu.com/python_33/" class="blog-card-title-link">【Python勉強会】Seleniumのインストールをしてみた～Google Chrome編～</a></div><div class="blog-card-excerpt">プログラムでブラウザの操作が自動化できればいいな？って思ったことはありませんか？今回は、Pythonでブラウザ操作を自動化してくれるSeleniumというライブラリをインストールする方法を紹介しています。章立てて連載していきます。何かしらの参考になれば嬉しいです。</div></div><div class="blog-card-footer"><div class="blog-card-site">dreamparadaisu.com</div><div class="blog-card-hatebu"><a href="//b.hatena.ne.jp/entry/https://dreamparadaisu.com/python_33/" rel="nofollow"><img src="//b.hatena.ne.jp/entry/image/https://dreamparadaisu.com/python_33/" alt="" /></a></div><div class="blog-card-date">2021-08-26 06:54</div></div></div>
<p>&nbsp;</p>
<p>Microsoft Edge編</p>
<div class="blog-card internal-blog-card blog-card-thumbnail-right cf"><div class="blog-card-thumbnail"><a href="https://dreamparadaisu.com/python_35/" class="blog-card-thumbnail-link"><img width="100" height="100" src="https://dreamparadaisu.com/wp-content/uploads/2020/08/python_18894-100x100.png" class="blog-card-thumb-image wp-post-image" alt="" srcset="https://dreamparadaisu.com/wp-content/uploads/2020/08/python_18894-100x100.png 100w, https://dreamparadaisu.com/wp-content/uploads/2020/08/python_18894-300x300.png 300w, https://dreamparadaisu.com/wp-content/uploads/2020/08/python_18894-150x150.png 150w, https://dreamparadaisu.com/wp-content/uploads/2020/08/python_18894-75x75.png 75w, https://dreamparadaisu.com/wp-content/uploads/2020/08/python_18894-120x120.png 120w, https://dreamparadaisu.com/wp-content/uploads/2020/08/python_18894.png 512w" sizes="(max-width: 100px) 100vw, 100px" /></a></div><div class="blog-card-content"><div class="blog-card-title"><a href="https://dreamparadaisu.com/python_35/" class="blog-card-title-link">【Python勉強会】Seleniumのインストールをしてみた～Microsoft Edge編～</a></div><div class="blog-card-excerpt">プログラムでブラウザの操作が自動化できればいいな？って思ったことはありませんか？今回は、Pythonでブラウザ操作を自動化してくれるSeleniumというライブラリをインストール～ブラウザでURLを開くまでをMicrosoft Edgeで紹介しています。何かしらの参考になれば嬉しいです。</div></div><div class="blog-card-footer"><div class="blog-card-site">dreamparadaisu.com</div><div class="blog-card-hatebu"><a href="//b.hatena.ne.jp/entry/https://dreamparadaisu.com/python_35/" rel="nofollow"><img src="//b.hatena.ne.jp/entry/image/https://dreamparadaisu.com/python_35/" alt="" /></a></div><div class="blog-card-date">2021-09-06 03:36</div></div></div>
<p>&nbsp;</p>
<p><a href="https://px.a8.net/svt/ejp?a8mat=3HI93W+DDNP6A+0K+15RCDD" rel="nofollow">
<img fetchpriority="high" decoding="async" class="aligncenter" src="https://www22.a8.net/svt/bgt?aid=210803612809&amp;wid=001&amp;eno=01&amp;mid=s00000000002007014000&amp;mc=1" alt="" width="728" height="90" border="0" /></a></p>
<img loading="lazy" decoding="async" class="aligncenter" src="https://www14.a8.net/0.gif?a8mat=3HI93W+DDNP6A+0K+15RCDD" alt="" width="1" height="1" border="0" />
<p>&nbsp;</p>
<h1>Seleniumとは</h1>
<p>Webサイトにおけるブラウザ操作に自動化の支援をしてくれる、</p>
<p><span class="marker-under">ブラウザ操作の自動化に特化したライブラリ</span>となっています。</p>
<p>&nbsp;</p>
<p>最近では<strong><span class="red-under">RPA</span></strong>が一般的に認知されてきたことから、</p>
<p>ブラウザでの操作自動化に関する知見も広まり、</p>
<p>Seleniumも認知されるようになってきました。</p>
<p>&nbsp;</p>
<figure id="attachment_mmd_2953" class="wp-block-image aligncenter"><img decoding="async" width="680" height="383" src="https://dreamparadaisu.com/wp-content/uploads/2021/09/4066116_m.jpg" class="attachment-680x576 size-680x576" alt="" loading="lazy" align="center" /></figure>
<p>&nbsp;</p>
<p><span class="marker-under">RPAとSeleniumは近しいようで中身は異なります</span>。</p>
<p>※気になる方、詳しくはRPAで検索してみてください。</p>
<p>&nbsp;</p>
<p>基本的にSeleniumは<span class="red-under">ブラウザ操作に特化</span>したもので、</p>
<p>RPAはコンピュータ上で行われる<span class="red-under">業務プロセスを自動化</span>してくれます。</p>
<p>そのため、ブラウザ操作のみならず、Excel操作の自動化なども得意とします。</p>
<p>&nbsp;</p>
<p>RPAが気になる方は、こちらで価格の規模など参考にしてみてください。</p>
<p>→<a href="https://px.a8.net/svt/ejp?a8mat=3HKIIJ+BWOVM+4QC8+BZ8OY" rel="nofollow">定型業務を自動化する【RPA】</a></p>
<img loading="lazy" decoding="async" src="https://www13.a8.net/0.gif?a8mat=3HKIIJ+BWOVM+4QC8+BZ8OY" alt="" width="1" height="1" border="0" />
<p>一方でSeleniumは、ブラウザ操作に関してはお手の物です。</p>
<p>例えば、ログイン処理やクリック作業などの作業を自動化できたりします。</p>
<p>&nbsp;</p>
<p>余談は置いておいて、早速使っていきます。</p>
<p>&nbsp;</p>
<h1>Seleniumを使う</h1>
<p>&nbsp;</p>
<h2>インストール</h2>
<p>下記コマンドでインストールを行います。</p>
<div class="sp-info">pip install selenium</div>
<div></div>
<div>これだけでインストールが行えます。</div>
<div>特に大きな設定はないので、簡単にインストールができます。</div>
<div></div>
<h2>使い方</h2>
<div>下記コマンドで使えるようにします。</div>
<div class="sp-info">from selenium import webdriver</div>
<div></div>
<h2>ブラウザの設定</h2>
<p>Seleniumでは、ブラウザを指定することでお気に入りの環境(ブラウザ)で</p>
<p>操作の自動化が行えます。</p>
<p>&nbsp;</p>
<p>まず、使うブラウザの自身の環境のバージョンを確認しておきます。</p>
<p>&nbsp;</p>
<h3>Firefoxの場合</h3>
<ol>

<li>Firefoxを起動します。</li>

<li>オプションを押します。</li>

<li>バージョンの確認</li>
</ol>
<p>&nbsp;</p>
<ol>
<li>Firefoxを起動します。</li>
</ol>
<p>下図のアイコンをダブルクリックして起動します。</p>
<p>&nbsp;</p>
<figure id="attachment_mmd_2954" class="wp-block-image aligncenter"><img decoding="async" width="114" height="40" src="https://dreamparadaisu.com/wp-content/uploads/2021/09/selenium_firefox_8.png" class="attachment-full size-full" alt="" loading="lazy" align="center" /></figure>
<p>&nbsp;</p>
<p>※Firefoxをインストールしていない方は、まずFirefoxのインストールをしてください。</p>
<p>&nbsp;</p>
<p>インストールはこちらから</p>
<div class="blog-card external-blog-card blog-card-thumbnail-left cf"><div class="blog-card-thumbnail"><a href="https://www.mozilla.org/ja/firefox/new/" class="blog-card-thumbnail-link" target="_blank"><img src="https://dreamparadaisu.com/wp-content/uploads/simplicity-cache/dbc40aee6eb3ee1c95bfb9b6f4aa1bc8.png" alt="" class="blog-card-thumb-image" height="100" width="100" /></a></div><div class="blog-card-content"><div class="blog-card-title"><a href="https://www.mozilla.org/ja/firefox/new/" class="blog-card-title-link" target="_blank">Firefox をダウンロード</a></div><div class="blog-card-excerpt"></div></div><div class="blog-card-footer"><div class="blog-card-site"><span class="blog-card-favicon"><img src="//www.google.com/s2/favicons?domain=www.firefox.com" class="blog-card-favicon-img" alt="" width="16" height="16" /></span>www.firefox.com</div><div class="blog-card-hatebu"><a href="//b.hatena.ne.jp/entry/https://www.mozilla.org/ja/firefox/new/" target="_blank" rel="nofollow"><img src="//b.hatena.ne.jp/entry/image/https://www.mozilla.org/ja/firefox/new/" alt="" /></a></div></div></div>
<p>&nbsp;</p>
<ol start="2">
<li>オプションを押します。</li>
</ol>
<figure id="attachment_mmd_2955" class="wp-block-image aligncenter"><img decoding="async" width="680" height="503" src="https://dreamparadaisu.com/wp-content/uploads/2021/09/selenium_firefox_3.png" class="attachment-680x758 size-680x758" alt="" loading="lazy" align="center" /></figure>
<p>Firefoxを起動したら、右上のバーをクリックします。</p>
<p>&nbsp;</p>
<figure id="attachment_mmd_2956" class="wp-block-image aligncenter"><img decoding="async" width="680" height="514" src="https://dreamparadaisu.com/wp-content/uploads/2021/09/selenium_firefox_4.png" class="attachment-680x774 size-680x774" alt="" loading="lazy" align="center" /></figure>
<p>オプションをクリックします。</p>
<p>&nbsp;</p>
<ol start="3">
<li>バージョンの確認</li>
</ol>
<p>バージョン情報が出るまでスクロールします。</p>
<figure id="attachment_mmd_2957" class="wp-block-image aligncenter"><img decoding="async" width="680" height="423" src="https://dreamparadaisu.com/wp-content/uploads/2021/09/selenium_firefox_5.png" class="attachment-680x637 size-680x637" alt="" loading="lazy" align="center" /></figure>
<p>&nbsp;</p>
<p>&nbsp;</p>
<figure id="attachment_mmd_2958" class="wp-block-image aligncenter"><img decoding="async" width="680" height="165" src="https://dreamparadaisu.com/wp-content/uploads/2021/09/selenium_firefox_6.png" class="attachment-680x249 size-680x249" alt="" loading="lazy" align="center" /></figure>
<p>&nbsp;</p>
<p>環境によってバージョンは違うので確認は忘れずに行っておきましょう。</p>
<p>&nbsp;</p>
<p>バージョンがわかったら、下記サイトからドライバーをインストールしてきます。</p>
<p><a href="https://github.com/mozilla/geckodriver/releases"><a href="https://github.com/mozilla/geckodriver/releases">https://github.com/mozilla/geckodriver/releases</a></a></p>
<div><figure id="attachment_mmd_2959" class="wp-block-image aligncenter"><img decoding="async" width="680" height="270" src="https://dreamparadaisu.com/wp-content/uploads/2021/09/selenium_firefox_2.png" class="attachment-680x406 size-680x406" alt="" loading="lazy" align="center" /></figure></div>
<p>&nbsp;</p>
<div>Firefoxのバージョンとドライバーのバージョンの比較を下図に示します。</div>
<div><figure id="attachment_mmd_2960" class="wp-block-image aligncenter"><img decoding="async" width="680" height="372" src="https://dreamparadaisu.com/wp-content/uploads/2021/09/selenium_firefox_11.png" class="attachment-680x560 size-680x560" alt="" loading="lazy" align="center" /></figure></div>
<div>参考:URL <a href="https://firefox-source-docs.mozilla.org/testing/geckodriver/Support.html">https://firefox-source-docs.mozilla.org/testing/geckodriver/Support.html</a></div>
<p>&nbsp;</p>
<div><span class="marker-under">minと記述されているバージョンより自身のFirefoxのバージョンが上</span>であれば、適用します。</div>
<p>&nbsp;</p>
<div>自身の環境に合わせたドライバーをインストールしてください。</div>
<p>&nbsp;</p>
<div>zip形式でのインストールになります。</div>
<div>インストールが終わったら、解凍をしましょう。</div>
<p>&nbsp;</p>
<div>解凍をすると、</div>
<div><figure id="attachment_mmd_2961" class="wp-block-image aligncenter"><img decoding="async" width="644" height="306" src="https://dreamparadaisu.com/wp-content/uploads/2021/09/selenium_firefox_1.png" class="attachment-full size-full" alt="" loading="lazy" align="center" /></figure></div>
<div>geckodriver.exeというファイルがあると思います。</div>
<p>&nbsp;</p>
<div>このファイルを、<span class="marker-under">seleniumを使うPythonファイルが保存されている</span></div>
<div><span class="marker-under">フォルダに入れておきます</span>。</div>
<p>&nbsp;</p>
<div>下記のようなイメージになります。</div>
<div><figure id="attachment_mmd_2962" class="wp-block-image aligncenter"><img decoding="async" width="871" height="171" src="https://dreamparadaisu.com/wp-content/uploads/2021/09/selenium_firefox_7.png" class="attachment-full size-full" alt="" loading="lazy" align="center" /></figure></div>
<p>&nbsp;</p>
<div>これでSeleniumを使ってブラウザ操作を行う準備ができました。</div>
<p>&nbsp;</p>
<div>ブラウザを立ち上げるまで、進めていきます。</div>
<p>&nbsp;</p>
<div><a href="https://px.a8.net/svt/ejp?a8mat=3HIMEG+G1IHKI+4PGA+BXYE9" rel="nofollow">
<img loading="lazy" decoding="async" class="aligncenter" src="https://www25.a8.net/svt/bgt?aid=210820840970&amp;wid=001&amp;eno=01&amp;mid=s00000021961002006000&amp;mc=1" alt="" width="468" height="120" border="0"></a>
<img loading="lazy" decoding="async" class="aligncenter" src="https://www17.a8.net/0.gif?a8mat=3HIMEG+G1IHKI+4PGA+BXYE9" alt="" width="1" height="1" border="0"></div>
<p>&nbsp;</p>
<h2>ブラウザ起動</h2>
<p>FirefoxをSeleniumで立ち上げるには、</p>
<div class="sp-info">変数名 = webdriver.Firefox()</div>
<p>&nbsp;</p>
<p>今回変数名には、以下のように設定しました。</p>
<div class="sp-info">browser = webdriver.Firefox()</div>
<p>&nbsp;</p>
<p>とすることでFirefoxを立ち上げることができます。</p>
<p>立ち上げると下図のようになります。</p>
<figure id="attachment_mmd_2963" class="wp-block-image aligncenter"><img decoding="async" width="680" height="514" src="https://dreamparadaisu.com/wp-content/uploads/2021/09/selenium_firefox_9.png" class="attachment-680x774 size-680x774" alt="" loading="lazy" align="center" /></figure>
<p>&nbsp;</p>
<p>Seleniumを使って立ち上げると、ChromeやEdgeと違って</p>
<p>&#8220;自動テストソフトウェアによって制限されています。&#8221;が表示されません。</p>
<p>&nbsp;</p>
<p>試しに、GoogleのURLを開いてみます。</p>
<div class="sp-info">https://www.google.co.jp/</div>
<p>&nbsp;</p>
<p>URLを開くには、</p>
<p>変数名.get(&#8216;開きたいURL&#8217;)</p>
<p>&nbsp;</p>
<p>変数名には、webdriver.Firefoxで作成した変数名になります。</p>
<div class="sp-info">browser.get(&#8216;https://www.google.co.jp/&#8217;)</div>
<p>&nbsp;</p>
<div>実行すると、下図の画面になるかと思います。</div>
<div><figure id="attachment_mmd_2964" class="wp-block-image aligncenter"><img decoding="async" width="680" height="514" src="https://dreamparadaisu.com/wp-content/uploads/2021/09/selenium_firefox_10.png" class="attachment-680x773 size-680x773" alt="" loading="lazy" align="center" /></figure></div>
<p>&nbsp;</p>
<p>以上の操作でSeleniumでFirefoxの制御が行えます。</p>
<p>&nbsp;</p>
<p>お疲れ様です。</p>
<p>&nbsp;</p>
<h1>まとめ</h1>
<p>Seleniumをインストールして、ブラウザを立ち上げてURLを開くまでを紹介していきました。
今回で主要なブラウザについてはすべて紹介ができたと思います。</p>
<p>※ほかにもあれば、紹介していこうと思います。</p>
<p>Operaとかあるのかな……。</p>
<p>&nbsp;</p>
<p>最後までお読みいただきありがとうございます。</p>
<p><strong><em>・こちらの書籍を参考にPythonの理解を深めました。</em></strong></p>
<div class="wpap-tpl wpap-tpl-detail wpap-tpl-rakuten-books"><a href="https://hb.afl.rakuten.co.jp/hgc/g00q0728.wj9ire09.g00q0728.wj9isd7f/?pc=https%3A%2F%2Fbooks.rakuten.co.jp%2Frb%2F12223744%2F%3Frafcid%3Dwsc_b_ts_1064955924733071255" rel="nofollow" class="wpap-link" target="_blank" data-click-tracking="楽天ブックス 9784798130804 空飛ぶPython即時開発指南書"><div class="wpap-image"><img decoding="async" src="https://thumbnail.image.rakuten.co.jp/@0_mall/book/cabinet/0804/9784798130804.jpg?_ex=200x200" alt="空飛ぶPython即時開発指南書" /></div><p class="wpap-title">空飛ぶPython即時開発指南書</p><div class="wpap-creator">ナオミ・セダー, 新丈径</div><div class="wpap-price">3,080円<span class="wpap-date">(06/13 09:15時点)</span></div><div class="wpap-service">楽天ブックス</div></a></div>
<div class="wpap-tpl wpap-tpl-detail wpap-tpl-rakuten-books"><a href="https://hb.afl.rakuten.co.jp/hgc/g00q0728.wj9ire09.g00q0728.wj9isd7f/?pc=https%3A%2F%2Fbooks.rakuten.co.jp%2Frb%2F13819463%2F%3Frafcid%3Dwsc_b_ts_1064955924733071255" rel="nofollow" class="wpap-link" target="_blank" data-click-tracking="楽天ブックス 9784797384406 確かな力が身につくPython「超」入門"><div class="wpap-image"><img decoding="async" src="https://thumbnail.image.rakuten.co.jp/@0_mall/book/cabinet/4406/9784797384406.jpg?_ex=200x200" alt="確かな力が身につくPython「超」入門" /></div><p class="wpap-title">確かな力が身につくPython「超」入門</p><div class="wpap-creator">鎌田正浩</div><div class="wpap-price">2,728円<span class="wpap-date">(06/13 09:15時点)</span></div><div class="wpap-service">楽天ブックス</div></a></div>		<div class="wpulike wpulike-default " ><div class="wp_ulike_general_class wp_ulike_is_restricted"><button type="button"
					aria-label="いいねボタン"
					data-ulike-id="2952"
					data-ulike-nonce="89e500cf64"
					data-ulike-type="post"
					data-ulike-template="wpulike-default"
					data-ulike-display-likers=""
					data-ulike-likers-style="popover"
					class="wp_ulike_btn wp_ulike_put_image wp_post_btn_2952"></button><span class="count-box wp_ulike_counter_up" data-ulike-counter-value="0"></span>			</div></div>The post <a href="https://dreamparadaisu.com/python_36/">【Python勉強会】Seleniumのインストールをしてみた～Firefox編～</a> first appeared on <a href="https://dreamparadaisu.com">リョクちゃの電脳日記</a>.<div class='yarpp yarpp-related yarpp-related-rss yarpp-related-none yarpp-template-list'>
<p>この投稿の関連記事が見つかりませんでした。</p>
</div>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">2952</post-id>	</item>
		<item>
		<title>【Python勉強会】Seleniumのインストールをしてみた～Microsoft Edge編～</title>
		<link>https://dreamparadaisu.com/python_35/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=python_35</link>
		
		<dc:creator><![CDATA[リョクちゃ]]></dc:creator>
		<pubDate>Sun, 05 Sep 2021 18:36:57 +0000</pubDate>
				<category><![CDATA[Python]]></category>
		<category><![CDATA[Selenium]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[プログラム]]></category>
		<guid isPermaLink="false">https://dreamparadaisu.com/?p=2929</guid>

					<description><![CDATA[<p>どうも！リョクちゃです。 &#160; 今回は、Seleniumというライブラリをインストールし、 ブラウザ操作の自動化が行えるようになる準備となります。 実際のブラウザ操作自動化については以降の記事で紹介していきます。...</p>
The post <a href="https://dreamparadaisu.com/python_35/">【Python勉強会】Seleniumのインストールをしてみた～Microsoft Edge編～</a> first appeared on <a href="https://dreamparadaisu.com">リョクちゃの電脳日記</a>.<div class='yarpp yarpp-related yarpp-related-rss yarpp-related-none yarpp-template-list'>

この投稿の関連記事が見つかりませんでした。
</div>
]]></description>
										<content:encoded><![CDATA[<p>どうも！リョクちゃです。</p>
<p>&nbsp;</p>
<p>今回は、Seleniumというライブラリをインストールし、</p>
<p>ブラウザ操作の自動化が行えるようになる準備となります。</p>
<p>実際のブラウザ操作自動化については以降の記事で紹介していきます。</p>
<p>&nbsp;</p>
<p>前回は、GoogleChromeでの方法を紹介したので、</p>
<p>Microsoft Edgeについての紹介となります。</p>
<p>&nbsp;</p>
<p>Google Chrome編はこちらです。</p>
<div class="blog-card internal-blog-card blog-card-thumbnail-right cf"><div class="blog-card-thumbnail"><a href="https://dreamparadaisu.com/python_33/" class="blog-card-thumbnail-link"><img width="100" height="100" src="https://dreamparadaisu.com/wp-content/uploads/2020/08/python_18894-100x100.png" class="blog-card-thumb-image wp-post-image" alt="" srcset="https://dreamparadaisu.com/wp-content/uploads/2020/08/python_18894-100x100.png 100w, https://dreamparadaisu.com/wp-content/uploads/2020/08/python_18894-300x300.png 300w, https://dreamparadaisu.com/wp-content/uploads/2020/08/python_18894-150x150.png 150w, https://dreamparadaisu.com/wp-content/uploads/2020/08/python_18894-75x75.png 75w, https://dreamparadaisu.com/wp-content/uploads/2020/08/python_18894-120x120.png 120w, https://dreamparadaisu.com/wp-content/uploads/2020/08/python_18894.png 512w" sizes="(max-width: 100px) 100vw, 100px" /></a></div><div class="blog-card-content"><div class="blog-card-title"><a href="https://dreamparadaisu.com/python_33/" class="blog-card-title-link">【Python勉強会】Seleniumのインストールをしてみた～Google Chrome編～</a></div><div class="blog-card-excerpt">プログラムでブラウザの操作が自動化できればいいな？って思ったことはありませんか？今回は、Pythonでブラウザ操作を自動化してくれるSeleniumというライブラリをインストールする方法を紹介しています。章立てて連載していきます。何かしらの参考になれば嬉しいです。</div></div><div class="blog-card-footer"><div class="blog-card-site">dreamparadaisu.com</div><div class="blog-card-hatebu"><a href="//b.hatena.ne.jp/entry/https://dreamparadaisu.com/python_33/" rel="nofollow"><img src="//b.hatena.ne.jp/entry/image/https://dreamparadaisu.com/python_33/" alt="" /></a></div><div class="blog-card-date">2021-08-26 06:54</div></div></div>
<p>&nbsp;</p>
<p>前回の記事はこちら</p>
<div class="blog-card internal-blog-card blog-card-thumbnail-right cf"><div class="blog-card-thumbnail"><a href="https://dreamparadaisu.com/python_34/" class="blog-card-thumbnail-link"><img width="100" height="100" src="https://dreamparadaisu.com/wp-content/uploads/2020/08/python_18894-100x100.png" class="blog-card-thumb-image wp-post-image" alt="" srcset="https://dreamparadaisu.com/wp-content/uploads/2020/08/python_18894-100x100.png 100w, https://dreamparadaisu.com/wp-content/uploads/2020/08/python_18894-300x300.png 300w, https://dreamparadaisu.com/wp-content/uploads/2020/08/python_18894-150x150.png 150w, https://dreamparadaisu.com/wp-content/uploads/2020/08/python_18894-75x75.png 75w, https://dreamparadaisu.com/wp-content/uploads/2020/08/python_18894-120x120.png 120w, https://dreamparadaisu.com/wp-content/uploads/2020/08/python_18894.png 512w" sizes="(max-width: 100px) 100vw, 100px" /></a></div><div class="blog-card-content"><div class="blog-card-title"><a href="https://dreamparadaisu.com/python_34/" class="blog-card-title-link">【Python勉強会】Seleniumを活用してGoogle検索した画像を取得し保存してみた</a></div><div class="blog-card-excerpt">検索サイトで画像を検索し、気に入った画像を保存したい！そんな時はありませんか？今回はSeleniumというライブラリを使って、Googleで検索してヒットした画像を取得し、指定の場所に保存する方法を紹介していきます。Webサイトを通じて画像を検索～取得を行いたい方におススメです。</div></div><div class="blog-card-footer"><div class="blog-card-site">dreamparadaisu.com</div><div class="blog-card-hatebu"><a href="//b.hatena.ne.jp/entry/https://dreamparadaisu.com/python_34/" rel="nofollow"><img src="//b.hatena.ne.jp/entry/image/https://dreamparadaisu.com/python_34/" alt="" /></a></div><div class="blog-card-date">2021-08-29 06:32</div></div></div>
<p>&nbsp;</p>
<p><a href="https://px.a8.net/svt/ejp?a8mat=3HI93W+DDNP6A+0K+15RCDD" rel="nofollow">
<img loading="lazy" decoding="async" class="aligncenter" src="https://www22.a8.net/svt/bgt?aid=210803612809&amp;wid=001&amp;eno=01&amp;mid=s00000000002007014000&amp;mc=1" alt="" width="728" height="90" border="0" /></a></p>
<img loading="lazy" decoding="async" class="aligncenter" src="https://www14.a8.net/0.gif?a8mat=3HI93W+DDNP6A+0K+15RCDD" alt="" width="1" height="1" border="0" />
<p>&nbsp;</p>
<h1>Seleniumのインストール</h1>
<p>下記コマンドでインストールを行います。</p>
<div class="sp-info">pip install selenium</div>
<div></div>
<div>これだけでインストールが行えます。</div>
<div>特に大きな設定はないので、簡単にインストールができます。</div>
<div></div>
<div>これに関しては、ブラウザが変わっても同じです。</div>
<div></div>
<h2>使い方</h2>
<div>下記コマンドで使えるようにします。</div>
<div class="sp-info">from selenium import webdriver</div>
<div></div>
<h1>ブラウザの設定</h1>
<p>Seleniumを使う上で、ブラウザのバージョン確認を最初に行う必要があります。</p>
<p>&nbsp;</p>
<h2>Microsoft Edgeの場合</h2>
<ol>

<li>Microsoft Edgeを起動します。</li>

<li>設定を押します。</li>

<li>&#8220;Microsoft Edgeについて&#8221;をクリック</li>

<li>バージョンの確認</li>
</ol>
<p>1.Microsoft Edgeの起動</p>
<p>下図のアイコンをデスクトップ上もしくはWindowsアイコンを押下してから探します。</p>
<figure id="attachment_mmd_2931" class="wp-block-image aligncenter"><img decoding="async" width="104" height="103" src="https://dreamparadaisu.com/wp-content/uploads/2021/09/selenium_edge_9.png" class="attachment-full size-full" alt="" loading="lazy" align="center" /></figure>
<p>&nbsp;</p>
<p>&nbsp;</p>
<ol start="2">
<li>設定を押します。</li>
</ol>
<figure id="attachment_mmd_2930" class="wp-block-image aligncenter"><img decoding="async" width="680" height="252" src="https://dreamparadaisu.com/wp-content/uploads/2021/09/selenium_edge_2.png" class="attachment-680x379 size-680x379" alt="" loading="lazy" align="center" /></figure>
<p>&nbsp;</p>
<p>&nbsp;</p>
<ol start="3">
<li>&#8220;Microsoft Edgeについて&#8221;をクリック</li>
</ol>
<figure id="attachment_mmd_2932" class="wp-block-image aligncenter"><img decoding="async" width="680" height="283" src="https://dreamparadaisu.com/wp-content/uploads/2021/09/selenium_edge_3.png" class="attachment-680x426 size-680x426" alt="" loading="lazy" align="center" /></figure>
<p>&nbsp;</p>
<p>&nbsp;</p>
<ol start="4">
<li>バージョンの確認</li>
</ol>
<figure id="attachment_mmd_2933" class="wp-block-image aligncenter"><img decoding="async" width="858" height="257" src="https://dreamparadaisu.com/wp-content/uploads/2021/09/selenium_edge_10.png" class="attachment-full size-full" alt="" loading="lazy" align="center" /></figure>
<p><span class="marker-under">環境によってバージョンは違うので確認は忘れずに行っておきましょう。</span></p>
<p>&nbsp;</p>
<p>バージョンがわかったら、下記サイトからドライバーをインストールしてきます。</p>
<p><a href="https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/#downloads"><a href="https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/#downloads">https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/#downloads</a></a></p>
<div><figure id="attachment_mmd_2934" class="wp-block-image aligncenter"><img decoding="async" width="680" height="368" src="https://dreamparadaisu.com/wp-content/uploads/2021/09/selenium_edge_4.png" class="attachment-680x554 size-680x554" alt="" loading="lazy" align="center" /></figure></div>
<p>&nbsp;</p>
<div>該当のバージョンをクリックすると、ダウンロードが開始されます。</div>
<p>&nbsp;</p>
<div>自身の環境に合わせたドライバーをインストールしてください。</div>
<div>※筆者の場合は、<span class="red-under">Version93.0961.38のx64</span>になります。</div>
<p>&nbsp;</p>
<div>zip形式でのインストールになります。</div>
<div>インストールが終わったら、解凍をしましょう。</div>
<p>&nbsp;</p>
<div>解凍をすると、</div>
<div><figure id="attachment_mmd_2935" class="wp-block-image aligncenter"><img decoding="async" width="644" height="295" src="https://dreamparadaisu.com/wp-content/uploads/2021/09/selenium_edge_5.png" class="attachment-full size-full" alt="" loading="lazy" align="center" /></figure></div>
<div><span style="color: #ff0000"><strong>msedgedriver.exe</strong></span>というファイルがあると思います。</div>
<p>&nbsp;</p>
<div>このファイルを、<span class="marker-under">seleniumを使うPythonファイルが保存されている</span></div>
<div><span class="marker-under">フォルダに入れておきます</span>。</div>
<p>&nbsp;</p>
<div>下記のようなイメージになります。</div>
<div><figure id="attachment_mmd_2936" class="wp-block-image aligncenter"><img decoding="async" width="871" height="140" src="https://dreamparadaisu.com/wp-content/uploads/2021/09/selenium_edge_6.png" class="attachment-full size-full" alt="" loading="lazy" align="center" /></figure></div>
<p>&nbsp;</p>
<div>これでSeleniumを使ってブラウザ操作を行う準備ができました。</div>
<p>&nbsp;</p>
<div>ブラウザを立ち上げるまで、進めていきます。</div>
<p>&nbsp;</p>
<div><a href="https://px.a8.net/svt/ejp?a8mat=3HIMEG+G1IHKI+4PGA+BXYE9" rel="nofollow">
<img loading="lazy" decoding="async" class="aligncenter" src="https://www25.a8.net/svt/bgt?aid=210820840970&amp;wid=001&amp;eno=01&amp;mid=s00000021961002006000&amp;mc=1" alt="" width="468" height="120" border="0"></a>
<img loading="lazy" decoding="async" class="aligncenter" src="https://www17.a8.net/0.gif?a8mat=3HIMEG+G1IHKI+4PGA+BXYE9" alt="" width="1" height="1" border="0"></div>
<p>&nbsp;</p>
<h1>ブラウザ起動</h1>
<p>MIcrosoft EdgeをSeleniumで立ち上げるには、</p>
<div class="sp-info">変数名 = webdriver.Edge(&#8216;msedgedriver.exeの絶対パス or 相対パス&#8217;)</div>
<p>&nbsp;</p>
<p>とすることでEdgeブラウザを立ち上げることができます。</p>
<p>立ち上げると下図のようになります。</p>
<figure id="attachment_mmd_2937" class="wp-block-image aligncenter"><img decoding="async" width="931" height="648" src="https://dreamparadaisu.com/wp-content/uploads/2021/09/selenium_edge_7.png" class="attachment-full size-full" alt="" loading="lazy" align="center" /></figure>
<p>&nbsp;</p>
<p>Seleniumを使って立ち上げると、&#8221;自動テストソフトウェアによって制限されています。&#8221;</p>
<p>と表示された、Edgeブラウザが立ち上がります。</p>
<p>&nbsp;</p>
<p>コードは下図になります。</p>
<div class="sp-info">browser = webdriver.Edge(&#8216;./msedgedriver.exe&#8217;)</div>
<p>&nbsp;</p>
<h2>試しにURLを開いてみる</h2>
<p>今回は、GoogleをEdgeで開いてみます。</p>
<p>開き方は、</p>
<div class="sp-info">変数名.get(&#8216;開きたいサイトのURL&#8217;)</div>
<p>&nbsp;</p>
<div>変数名には、<span class="marker-under">先に宣言したwebdriver.Edge()を代入した変数</span>になります。</div>
<div>開きたいサイトのURLは、<strong><span class="red-under">https://www.google.com</span></strong>になります。</div>
<p>&nbsp;</p>
<div>URLを設定すると、</div>
<div class="sp-info">browser.get(&#8216;https://www.google.com&#8217;)</div>
<p>&nbsp;</p>
<p>実行すると、</p>
<figure id="attachment_mmd_2938" class="wp-block-image aligncenter"><img decoding="async" width="925" height="616" src="https://dreamparadaisu.com/wp-content/uploads/2021/09/selenium_edge_8.png" class="attachment-full size-full" alt="" loading="lazy" align="center" /></figure>
<p>Googleを開くことができました。</p>
<p>&nbsp;</p>
<h1>まとめ</h1>
<p>Seleniumをインストールして、</p>
<p>Microsoft Edgeブラウザを立ち上げ、サイトを紹介していきました。</p>
<p>&nbsp;</p>
<p>ブラウザによって、必要となるドライバーが変わってくるので、</p>
<p>起動させたいブラウザによって環境を整備して行うようにしていきましょう。</p>
<p>&nbsp;</p>
<p>最後までお読みいただきありがとうございます。</p>
<p>&nbsp;</p>
<p><strong><em>・こちらの書籍を参考にPythonの理解を深めました。</em></strong></p>
<div class="wpap-tpl wpap-tpl-detail wpap-tpl-rakuten-books"><a href="https://hb.afl.rakuten.co.jp/hgc/g00q0728.wj9ire09.g00q0728.wj9isd7f/?pc=https%3A%2F%2Fbooks.rakuten.co.jp%2Frb%2F12223744%2F%3Frafcid%3Dwsc_b_ts_1064955924733071255" rel="nofollow" class="wpap-link" target="_blank" data-click-tracking="楽天ブックス 9784798130804 空飛ぶPython即時開発指南書"><div class="wpap-image"><img decoding="async" src="https://thumbnail.image.rakuten.co.jp/@0_mall/book/cabinet/0804/9784798130804.jpg?_ex=200x200" alt="空飛ぶPython即時開発指南書" /></div><p class="wpap-title">空飛ぶPython即時開発指南書</p><div class="wpap-creator">ナオミ・セダー, 新丈径</div><div class="wpap-price">3,080円<span class="wpap-date">(06/13 09:15時点)</span></div><div class="wpap-service">楽天ブックス</div></a></div>
<div class="wpap-tpl wpap-tpl-detail wpap-tpl-rakuten-books"><a href="https://hb.afl.rakuten.co.jp/hgc/g00q0728.wj9ire09.g00q0728.wj9isd7f/?pc=https%3A%2F%2Fbooks.rakuten.co.jp%2Frb%2F13819463%2F%3Frafcid%3Dwsc_b_ts_1064955924733071255" rel="nofollow" class="wpap-link" target="_blank" data-click-tracking="楽天ブックス 9784797384406 確かな力が身につくPython「超」入門"><div class="wpap-image"><img decoding="async" src="https://thumbnail.image.rakuten.co.jp/@0_mall/book/cabinet/4406/9784797384406.jpg?_ex=200x200" alt="確かな力が身につくPython「超」入門" /></div><p class="wpap-title">確かな力が身につくPython「超」入門</p><div class="wpap-creator">鎌田正浩</div><div class="wpap-price">2,728円<span class="wpap-date">(06/13 09:15時点)</span></div><div class="wpap-service">楽天ブックス</div></a></div>
<div></div>		<div class="wpulike wpulike-default " ><div class="wp_ulike_general_class wp_ulike_is_restricted"><button type="button"
					aria-label="いいねボタン"
					data-ulike-id="2929"
					data-ulike-nonce="d3a7945c12"
					data-ulike-type="post"
					data-ulike-template="wpulike-default"
					data-ulike-display-likers=""
					data-ulike-likers-style="popover"
					class="wp_ulike_btn wp_ulike_put_image wp_post_btn_2929"></button><span class="count-box wp_ulike_counter_up" data-ulike-counter-value="0"></span>			</div></div>The post <a href="https://dreamparadaisu.com/python_35/">【Python勉強会】Seleniumのインストールをしてみた～Microsoft Edge編～</a> first appeared on <a href="https://dreamparadaisu.com">リョクちゃの電脳日記</a>.<div class='yarpp yarpp-related yarpp-related-rss yarpp-related-none yarpp-template-list'>
<p>この投稿の関連記事が見つかりませんでした。</p>
</div>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">2929</post-id>	</item>
		<item>
		<title>【Python勉強会】Seleniumを活用してGoogle検索した画像を取得し保存してみた</title>
		<link>https://dreamparadaisu.com/python_34/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=python_34</link>
		
		<dc:creator><![CDATA[リョクちゃ]]></dc:creator>
		<pubDate>Sat, 28 Aug 2021 21:32:21 +0000</pubDate>
				<category><![CDATA[Python]]></category>
		<category><![CDATA[Selenium]]></category>
		<category><![CDATA[プログラム]]></category>
		<category><![CDATA[自動化]]></category>
		<guid isPermaLink="false">https://dreamparadaisu.com/?p=2890</guid>

					<description><![CDATA[<p>どうも！リョクちゃです。 &#160; 今回はGoogle検索でヒットした画像を取得するといった作業(動作)を、 Seleniumを使って自動化してみる方法を紹介していきます。 &#160; ちなみに前回の記事はこちら ...</p>
The post <a href="https://dreamparadaisu.com/python_34/">【Python勉強会】Seleniumを活用してGoogle検索した画像を取得し保存してみた</a> first appeared on <a href="https://dreamparadaisu.com">リョクちゃの電脳日記</a>.<div class='yarpp yarpp-related yarpp-related-rss yarpp-related-none yarpp-template-list'>

この投稿の関連記事が見つかりませんでした。
</div>
]]></description>
										<content:encoded><![CDATA[<p>どうも！リョクちゃです。</p>
<p>&nbsp;</p>
<p>今回はGoogle検索でヒットした画像を取得するといった作業(動作)を、</p>
<p>Seleniumを使って自動化してみる方法を紹介していきます。</p>
<p>&nbsp;</p>
<p>ちなみに前回の記事はこちら</p>
<div class="blog-card internal-blog-card blog-card-thumbnail-right cf"><div class="blog-card-thumbnail"><a href="https://dreamparadaisu.com/python_33/" class="blog-card-thumbnail-link"><img width="100" height="100" src="https://dreamparadaisu.com/wp-content/uploads/2020/08/python_18894-100x100.png" class="blog-card-thumb-image wp-post-image" alt="" srcset="https://dreamparadaisu.com/wp-content/uploads/2020/08/python_18894-100x100.png 100w, https://dreamparadaisu.com/wp-content/uploads/2020/08/python_18894-300x300.png 300w, https://dreamparadaisu.com/wp-content/uploads/2020/08/python_18894-150x150.png 150w, https://dreamparadaisu.com/wp-content/uploads/2020/08/python_18894-75x75.png 75w, https://dreamparadaisu.com/wp-content/uploads/2020/08/python_18894-120x120.png 120w, https://dreamparadaisu.com/wp-content/uploads/2020/08/python_18894.png 512w" sizes="(max-width: 100px) 100vw, 100px" /></a></div><div class="blog-card-content"><div class="blog-card-title"><a href="https://dreamparadaisu.com/python_33/" class="blog-card-title-link">【Python勉強会】Seleniumのインストールをしてみた～Google Chrome編～</a></div><div class="blog-card-excerpt">プログラムでブラウザの操作が自動化できればいいな？って思ったことはありませんか？今回は、Pythonでブラウザ操作を自動化してくれるSeleniumというライブラリをインストールする方法を紹介しています。章立てて連載していきます。何かしらの参考になれば嬉しいです。</div></div><div class="blog-card-footer"><div class="blog-card-site">dreamparadaisu.com</div><div class="blog-card-hatebu"><a href="//b.hatena.ne.jp/entry/https://dreamparadaisu.com/python_33/" rel="nofollow"><img src="//b.hatena.ne.jp/entry/image/https://dreamparadaisu.com/python_33/" alt="" /></a></div><div class="blog-card-date">2021-08-26 06:54</div></div></div>
<p>&nbsp;</p>
<p><a href="https://px.a8.net/svt/ejp?a8mat=3NA5PS+1NJD9U+3CJQ+60H7L" rel="nofollow">
<img loading="lazy" decoding="async" class="aligncenter" src="https://www27.a8.net/svt/bgt?aid=220503664100&amp;wid=001&amp;eno=01&amp;mid=s00000015623001010000&amp;mc=1" alt="" width="468" height="60" border="0" /></a></p>
<img loading="lazy" decoding="async" class="aligncenter" src="https://www13.a8.net/0.gif?a8mat=3NA5PS+1NJD9U+3CJQ+60H7L" alt="" width="1" height="1" border="0" />
<p>&nbsp;</p>
<p>ここでは既にPythonとSeleniumがインストールできている状態として話を進めていきます。</p>
<p>インストールがまだの方は、インストールをしておいていただければ嬉しいです。</p>
<p>&nbsp;</p>
<p>以下の記事でインストール方法についても触れています。</p>
<div class="blog-card internal-blog-card blog-card-thumbnail-right cf"><div class="blog-card-thumbnail"><a href="https://dreamparadaisu.com/python_1/" class="blog-card-thumbnail-link"><img width="100" height="100" src="https://dreamparadaisu.com/wp-content/uploads/2020/08/python_18894-100x100.png" class="blog-card-thumb-image wp-post-image" alt="" srcset="https://dreamparadaisu.com/wp-content/uploads/2020/08/python_18894-100x100.png 100w, https://dreamparadaisu.com/wp-content/uploads/2020/08/python_18894-300x300.png 300w, https://dreamparadaisu.com/wp-content/uploads/2020/08/python_18894-150x150.png 150w, https://dreamparadaisu.com/wp-content/uploads/2020/08/python_18894-75x75.png 75w, https://dreamparadaisu.com/wp-content/uploads/2020/08/python_18894-120x120.png 120w, https://dreamparadaisu.com/wp-content/uploads/2020/08/python_18894.png 512w" sizes="(max-width: 100px) 100vw, 100px" /></a></div><div class="blog-card-content"><div class="blog-card-title"><a href="https://dreamparadaisu.com/python_1/" class="blog-card-title-link">【Python勉強会】Pythonとは～はじまり編①～</a></div><div class="blog-card-excerpt">最近流行りのプログラミング言語であるPython、今回はPythonを使う上で必要となる環境の準備について簡単に。
Pythonってどんな言語？Pythonのインストール～環境構築までをざっくりと触れています。</div></div><div class="blog-card-footer"><div class="blog-card-site">dreamparadaisu.com</div><div class="blog-card-hatebu"><a href="//b.hatena.ne.jp/entry/https://dreamparadaisu.com/python_1/" rel="nofollow"><img src="//b.hatena.ne.jp/entry/image/https://dreamparadaisu.com/python_1/" alt="" /></a></div><div class="blog-card-date">2020-08-17 01:20</div></div></div>
<p>&nbsp;</p>
<div class="blog-card internal-blog-card blog-card-thumbnail-right cf"><div class="blog-card-thumbnail"><a href="https://dreamparadaisu.com/post-328/" class="blog-card-thumbnail-link"><img width="100" height="100" src="https://dreamparadaisu.com/wp-content/uploads/2020/08/python_18894-100x100.png" class="blog-card-thumb-image wp-post-image" alt="" srcset="https://dreamparadaisu.com/wp-content/uploads/2020/08/python_18894-100x100.png 100w, https://dreamparadaisu.com/wp-content/uploads/2020/08/python_18894-300x300.png 300w, https://dreamparadaisu.com/wp-content/uploads/2020/08/python_18894-150x150.png 150w, https://dreamparadaisu.com/wp-content/uploads/2020/08/python_18894-75x75.png 75w, https://dreamparadaisu.com/wp-content/uploads/2020/08/python_18894-120x120.png 120w, https://dreamparadaisu.com/wp-content/uploads/2020/08/python_18894.png 512w" sizes="(max-width: 100px) 100vw, 100px" /></a></div><div class="blog-card-content"><div class="blog-card-title"><a href="https://dreamparadaisu.com/post-328/" class="blog-card-title-link">Python勉強～はじまり編②～</a></div><div class="blog-card-excerpt">前回に続き、今回は開発環境の構築について紹介していきます。
開発環境の構築もいろいろあるので、自分が構築した環境と、
最近になって使い始...</div></div><div class="blog-card-footer"><div class="blog-card-site">dreamparadaisu.com</div><div class="blog-card-hatebu"><a href="//b.hatena.ne.jp/entry/https://dreamparadaisu.com/post-328/" rel="nofollow"><img src="//b.hatena.ne.jp/entry/image/https://dreamparadaisu.com/post-328/" alt="" /></a></div><div class="blog-card-date">2020-08-18 02:29</div></div></div>
<p>&nbsp;</p>
<h1>動作環境</h1>
<p>筆者の環境は、Python 3.6.1になります。</p>
<p>古いですね……。</p>
<p>&nbsp;</p>
<p>Seleniumのバージョンは、3.141.0になります。</p>
<p>&nbsp;</p>
<h1>Seleniumのインポート</h1>
<p>まず最初にSeleniumのインポート(使う準備)をします。</p>
<div class="sp-info">from selenium import webdriver</div>
<p>&nbsp;</p>
<h1>GoogleChromeブラウザを起動</h1>
<div class="sp-info">browser = webdriver.Chrome()</div>
<div>※browserは変数名になるので、各自任意の変数名で問題ありません。</div>
<div>今回は、browserといった変数名にGoggleChromeブラウザを使用する旨を伝えています。</div>
<div></div>
<div>これを実行すると、</div>
<div><figure id="attachment_mmd_2882" class="wp-block-image aligncenter"><img decoding="async" width="924" height="328" src="https://dreamparadaisu.com/wp-content/uploads/2021/08/selenium_8.png" class="attachment-full size-full" alt="" loading="lazy" align="center" /></figure></div>
<div>GoogleChromeブラウザが新たに起動します。</div>
<p>&nbsp;</p>
<h1>URLを開く</h1>
<p>今回は画像の検索をGoogleで行うので、以下のURLをブラウザ上で開きます。</p>
<div class="blog-card external-blog-card blog-card-thumbnail-left cf"><div class="blog-card-thumbnail"><a href="https://www.google.co.jp/imghp?hl=ja&ogbl" class="blog-card-thumbnail-link" target="_blank"><img src="https://s0.wordpress.com/mshots/v1/https%3A%2F%2Fwww.google.co.jp%2Fimghp%3Fhl%3Dja%26ogbl?w=100&h=100" alt="" class="blog-card-thumb-image" height="100" width="100" /></a></div><div class="blog-card-content"><div class="blog-card-title"><a href="https://www.google.co.jp/imghp?hl=ja&ogbl" class="blog-card-title-link" target="_blank">Google &#30011;&#20687;&#26908;&#32034;</a></div><div class="blog-card-excerpt">Google 画像検索 ウェブ上の画像を縦横無尽に検索</div></div><div class="blog-card-footer"><div class="blog-card-site"><span class="blog-card-favicon"><img src="//www.google.com/s2/favicons?domain=www.google.co.jp" class="blog-card-favicon-img" alt="" width="16" height="16" /></span>www.google.co.jp</div><div class="blog-card-hatebu"><a href="//b.hatena.ne.jp/entry/https://www.google.co.jp/imghp?hl=ja&ogbl" target="_blank" rel="nofollow"><img src="//b.hatena.ne.jp/entry/image/https://www.google.co.jp/imghp?hl=ja&ogbl" alt="" /></a></div></div></div>
<p>&nbsp;</p>
<p>URLを開くには、</p>
<div class="sp-info">browser.get(&#8216;ブラウザ上で開きたいURL&#8217;)</div>
<p>と書きます。</p>
<p>&nbsp;</p>
<p>実際にURLを当てはめると、</p>
<p>browser.get(&#8216;<a href="https://www.google.co.jp/imghp?hl=ja&amp;ogbl">https://www.google.co.jp/imghp?hl=ja&amp;ogbl</a>&#8216;)</p>
<p>となり、実行すると</p>
<p>&nbsp;</p>
<figure id="attachment_mmd_2893" class="wp-block-image aligncenter"><img decoding="async" width="928" height="512" src="https://dreamparadaisu.com/wp-content/uploads/2021/08/selenium_9.png" class="attachment-full size-full" alt="" loading="lazy" align="center" /></figure>
<p>&nbsp;</p>
<p>&nbsp;</p>
<h1>画像の検索を行う</h1>
<p>ここからは取得する画像の検索を行います。</p>
<p>今回は猫の画像を取得し、検索することとします。</p>
<p>&nbsp;</p>
<p>画像を検索するにあたって、</p>
<p>まずは開いたページの構成がどうなっているのか理解する必要があります。</p>
<p>&nbsp;</p>
<p>今回は、下図の赤枠で囲われた部分を使って検索をしたいので……</p>
<figure id="attachment_mmd_2894" class="wp-block-image aligncenter"><img decoding="async" width="680" height="393" src="https://dreamparadaisu.com/wp-content/uploads/2021/08/selenium_10.png" class="attachment-680x592 size-680x592" alt="" loading="lazy" align="center" /></figure>
<p>&nbsp;</p>
<p>これには以下の手順でページを構成する要素を調べていきます。</p>
<ol>

<li>開いたWebページの&#8221;検証&#8221;を行う。</li>

<li>検証タブの&#8221;Select an element ~&#8221;をクリックする。</li>

<li>カーソルを調べたい要素に合わせる。</li>

<li>要素のxpathをコピーする。</li>
</ol>
<p>といった流れで要素の検出を行います。</p>
<p>&nbsp;</p>
<p>ここでいう&#8221;要素&#8221;とは、ページ上の見出し、ボタンや段落などを指します。</p>
<p>&nbsp;</p>
<p>詳細に言うと、WebページはHTMLと呼ばれる、</p>
<p>マークアップ言語で書かれたファイルに基づき、構成がされています。</p>
<p>いわゆるhtmlファイルと呼ばれるものになります。これがWebページの顔となります。</p>
<p>&nbsp;</p>
<p>Webページは、主に下図のような感じで構成されています。</p>
<figure id="attachment_mmd_2895" class="wp-block-image aligncenter"><img decoding="async" width="615" height="396" src="https://dreamparadaisu.com/wp-content/uploads/2021/08/selenium_16.png" class="attachment-full size-full" alt="" loading="lazy" align="center" /></figure>
<p>※あくまで一例です。だいたいはもっと多くのコードが書かれていたりします。</p>
<p>これはただ単に&#8221;Hello World&#8221;と表示されているだけのページになります。</p>
<p>&nbsp;</p>
<p>例のように、や<h1>などが要素を表します。</p>
<p><h1>だと見出し1になります。</p>
<p>&nbsp;</p>
<p>ブラウザを操作する上では、このHTMLの各要素を知ることから始まります。</p>
<p>今回では、検索ボックスと検索ボタン(虫眼鏡アイコン)の要素を知ることになります。</p>
<p>&nbsp;</p>
<p>これらを知るには、ページ内で右クリックを押し、検証ボタンを押します。</p>
<p>※GoogleChromeの場合、各ブラウザで違います。</p>
<p>&nbsp;</p>
<figure id="attachment_mmd_2896" class="wp-block-image aligncenter"><img decoding="async" width="680" height="391" src="https://dreamparadaisu.com/wp-content/uploads/2021/08/selenium_11.png" class="attachment-680x588 size-680x588" alt="" loading="lazy" align="center" /></figure>
<p>&nbsp;</p>
<p>検証ボタンを押すと、</p>
<figure id="attachment_mmd_2897" class="wp-block-image aligncenter"><img decoding="async" width="680" height="254" src="https://dreamparadaisu.com/wp-content/uploads/2021/08/selenium_12.png" class="attachment-680x382 size-680x382" alt="" loading="lazy" align="center" /></figure>
<p>赤枠で囲まれた部分が展開されます。(検証タブと呼ぶことにします。)</p>
<p>&nbsp;</p>
<p>これが現在開いているページを構成する中身になります。</p>
<p>いろいろとコードが書かれていますね。</p>
<p>&nbsp;</p>
<p>これを元に要素の検索をしていきます。</p>
<p>検索をするには、</p>
<figure id="attachment_mmd_2898" class="wp-block-image aligncenter"><img decoding="async" width="680" height="253" src="https://dreamparadaisu.com/wp-content/uploads/2021/08/selenium_13.png" class="attachment-680x381 size-680x381" alt="" loading="lazy" align="center" /></figure>
<p>赤丸で囲んだ矢印アイコンをクリックします。</p>
<p>クリックした状態で、カーソルを検索ボックスと検索ボタンに合わせます。</p>
<p>※合わせるだけでクリックは、まだしません。</p>
<p>&nbsp;</p>
<figure id="attachment_mmd_2899" class="wp-block-image aligncenter"><img decoding="async" width="680" height="282" src="https://dreamparadaisu.com/wp-content/uploads/2021/08/selenium_14.png" class="attachment-680x424 size-680x424" alt="" loading="lazy" align="center" /></figure>
<p>カーソルを合わせると、青く選択され、その上にパラメータが表示されるかと思います。</p>
<p>この<span class="marker-under">パラメータが、それぞれの要素</span>となります。</p>
<p>&nbsp;</p>
<p>ここから<span class="marker-under">さらに調査をし、どの位置(場所)に要素があるのか掴んでいきます</span>。</p>
<p>楽しくなってきましたね。</p>
<p>&nbsp;</p>
<p>ここで検索ボックスの要素の場所を取得していきます。</p>
<p>検索ボックスにカーソルを合わせた状態でクリックをします。</p>
<p>&nbsp;</p>
<p>すると、この要素がどこにあるのか検証タブ内で教えてくれます。</p>
<p>※検証タブ内で青く選択される場所になります。</p>
<p>&nbsp;</p>
<p>青く選択されたら、右クリックをします。</p>
<p>ウィンドウが開くので、<span class="marker-under">Copyを押し、Copy xPathを押します</span>。</p>
<p>下の図のような感じです。</p>
<p>&nbsp;</p>
<figure id="attachment_mmd_2900" class="wp-block-image aligncenter"><img decoding="async" width="680" height="303" src="https://dreamparadaisu.com/wp-content/uploads/2021/08/selenium_15.png" class="attachment-680x456 size-680x456" alt="" loading="lazy" align="center" /></figure>
<p>&nbsp;</p>
<p><span class="marker-under"><strong>xPath</strong></span>とは、<strong>XML Path Language</strong>の略になります。</p>
<p>HTMLドキュメントからの要素や属性値などを指定するための簡潔な言語となっています。</p>
<p>覚えておくと便利です。</p>
<p>&nbsp;</p>
<p>実際に検索ボックスをコピーしたxpathは、こちらになります。</p>
<div class="sp-info">//*[@id=&#8221;sbtc&#8221;]/div/div[2]/input</div>
<p>&nbsp;</p>
<p>同様に、検索ボタンもxpathをコピーすると、</p>
<div class="sp-info">//*[@id=&#8221;sbtc&#8221;]/button</div>
<div></div>
<div>となります。</div>
<div></div>
<div>これを使って、実際に検索ボックスにはキーワードの入力、</div>
<div>検索ボタンでは押下するといった各動作を行わせていきます。</div>
<div></div>
<div>まずは、各変数を作成し、検索ボックスと検索ボタンの要素を代入しておきます。</div>
<div></div>
<div>要素の抽出には、</div>
<div class="sp-info">browser.find_element_by_xpath(&#8216;取得する要素のxpath&#8217;)</div>
<div>と書きます。</div>
<div></div>
<div></div>
<div>検索ボックス</div>
<p></p><pre class="urvanov-syntax-highlighter-plain-tag">elem_keyword = browser.find_element_by_xpath('//*[@id="sbtc"]/div/div[2]/input')</pre><p>
&nbsp;</p>
<div>検索ボタン</div>
<div>
<pre class="urvanov-syntax-highlighter-plain-tag">elem_button = browser.find_element_by_xpath('//*[@id="sbtc"]/button')</pre>
</div>
<p>&nbsp;</p>
<p>各変数に要素を収めることができました。</p>
<p>&nbsp;</p>
<p>検索ボックスにキーワードを入力するには、</p>
<div class="sp-info">.send_keys(&#8216;検索したいワード&#8217;)</div>
<p>と書きます。</p>
<p>&nbsp;</p>
<p>今回だと、</p>
<div class="sp-info">elem_keyword.send_keys(&#8216;猫&#8217;)</div>
<p>となります。</p>
<p>&nbsp;</p>
<p>これを実行すると、</p>
<figure id="attachment_mmd_2901" class="wp-block-image aligncenter"><img decoding="async" width="750" height="599" src="https://dreamparadaisu.com/wp-content/uploads/2021/08/selenium_17.png" class="attachment-full size-full" alt="" loading="lazy" align="center" /></figure>
<p>入力されているのがわかります。</p>
<p>&nbsp;</p>
<p>次いで、検索ボタンを押下していきます。</p>
<p>押下するには、</p>
<div class="sp-info">.click()</div>
<p>と書きます。</p>
<p>&nbsp;</p>
<p>今回だと、</p>
<div class="sp-info">elem_button.click()</div>
<p>となります。</p>
<p>&nbsp;</p>
<p>これを実行すると、</p>
<figure id="attachment_mmd_2902" class="wp-block-image aligncenter"><img decoding="async" width="680" height="376" src="https://dreamparadaisu.com/wp-content/uploads/2021/08/selenium_18.png" class="attachment-680x566 size-680x566" alt="" loading="lazy" align="center" /></figure>
<p>画面が切り替わり、猫の画像が表示されるようになりました。</p>
<p>これで検索ができるようになりました。</p>
<p>&nbsp;</p>
<p>ここまでで要素を取得し、検索ボックスへの入力、</p>
<p>検索ボタンの押下ができるようになりました。</p>
<p>&nbsp;</p>
<p>以降は、実際に画像の取得をしていきます。</p>
<p>&nbsp;</p>
<p><a href="https://px.a8.net/svt/ejp?a8mat=3BI0VE+4JQ84Y+0K+10YL8H" rel="nofollow">
<img loading="lazy" decoding="async" class="aligncenter" src="https://www22.a8.net/svt/bgt?aid=200715242275&amp;wid=001&amp;eno=01&amp;mid=s00000000002006208000&amp;mc=1" alt="" width="250" height="250" border="0" /></a></p>
<img loading="lazy" decoding="async" class="aligncenter" src="https://www13.a8.net/0.gif?a8mat=3BI0VE+4JQ84Y+0K+10YL8H" alt="" width="1" height="1" border="0" />
<p>&nbsp;</p>
<h1>サムネイルの画像のリンクを取得</h1>
<p>検索できた結果から1枚目の画像を取得していきます。</p>
<p>まずは1枚目のサムネイルの画像のリンクを取得します。</p>
<p>&nbsp;</p>
<p>リンクを取得するには、
</p><pre class="urvanov-syntax-highlighter-plain-tag">elem_pic = browser.find_element_by_xpath('//*[@id="islrg"]/div[1]/div[1]/a[1]/div[1]/img')</pre><p>
とします。</p>
<p>&nbsp;</p>
<p>上述した取得したい要素のxpathを取得し、変数に要素を代入しています。</p>
<p>取得したリンクをクリックします。
</p><pre class="urvanov-syntax-highlighter-plain-tag">elem_pic.click()</pre><p>
&nbsp;</p>
<p>実行すると、</p>
<figure id="attachment_mmd_2903" class="wp-block-image aligncenter"><img decoding="async" width="680" height="285" src="https://dreamparadaisu.com/wp-content/uploads/2021/08/selenium_19.png" class="attachment-680x428 size-680x428" alt="" loading="lazy" align="center" /></figure>
<p>1枚目の画像のサムネイルをクリックした状態です。</p>
<p>&nbsp;</p>
<h1>サムネイルの画像のURLを取得</h1>
<p>クリックしたサムネイルの画像を取得するためには、<span class="marker-under">画像のURLを取得する必要</span>があります。</p>
<p>画像のURLを取得するには、まずは要素の検出を行い、xpathを見つけます。</p>
<p>&nbsp;</p>
<p>サムネイルの画像のxpathは</p>
<p><span class="marker-under">//*[@id=&#8221;Sva75c&#8221;]/div/div/div[3]/div[2]/c-wiz/div/div[1]/div[1]/div[2]/div[1]/a/img</span></p>
<p>となることがわかりました。</p>
<p>&nbsp;</p>
<p>この要素を変数に代入していきます。
</p><pre class="urvanov-syntax-highlighter-plain-tag">elem_imgUrl = browser.find_element_by_xpath('//*[@id="Sva75c"]/div/div/div[3]/div[2]/c-wiz/div/div[1]/div[1]/div[2]/div[1]/a/img')</pre><p>
&nbsp;</p>
<p>これだけでは画像のURLを取得することができないので、</p>
<p>さらに要素内のURLを格納している属性まで絞り込みます。</p>
<p>&nbsp;</p>
<p>調べてみると画像のURLの属性は、&#8221;src&#8221;と呼ばれる属性に格納されているようです。</p>
<p>つまりはsrc属性を取得すれば、画像のURLを取得することができます。</p>
<p>&nbsp;</p>
<p>src属性を取得するには、</p>
<div class="sp-info">.get_attribute(&#8216;取得したい属性&#8217;)</div>
<p>と書きます。</p>
<p>&nbsp;</p>
<p>今回だと、</p>
<div class="sp-info">elem_imgUrl.get_attribute(&#8216;src&#8217;)</div>
<p>&nbsp;</p>
<p>これを変数に代入しておきます。
</p><pre class="urvanov-syntax-highlighter-plain-tag">img_url = elem_imgUrl.get_attribute('src')</pre><p>
変数の中身をのぞいてみると、</p>
<p><a href="https://tk.ismcdn.jp/mwimgs/7/6/1140/img_761783d94524387445e94d79e99b739a80657.jpg">https://tk.ismcdn.jp/mwimgs/7/6/1140/img_761783d94524387445e94d79e99b739a80657.jpg</a></p>
<p>&nbsp;</p>
<p>見事に画像のURLを取得することができました。</p>
<p>&nbsp;</p>
<h1>画像を読込む</h1>
<p>取得した画像のURLから画像を読み込んでみます。</p>
<p>画像を読み込むには、新たに<strong><span class="marker-under">requestsライブラリと</span></strong></p>
<p><strong><span class="marker-under">ioライブラリ、PILライブラリ</span></strong>をそれぞれインポートします。</p>
<p>&nbsp;</p>
<p><span class="marker-under"><strong>requestsライブラリ</strong></span></p>
<p>これはHTTP通信用のライブラリで、HTMLファイルからデータを取得するのに使われます。</p>
<p>&nbsp;</p>
<p><span class="marker-under"><strong>ioライブラリ</strong></span></p>
<blockquote>ストリームを扱うコアツール</blockquote>
<p>で今回は、バイナリIOとして扱います。</p>
<p>画像データをメモリ上でバイトデータで読取るために使用します。</p>
<p>&nbsp;</p>
<p>こちらは標準でインストールされています。</p>
<p>&nbsp;</p>
<p><span class="marker-under"><strong>PILライブラリ(=Pillow)</strong></span></p>
<p>画像処理用のライブラリで、画像の表示と保存に今回使います。</p>
<p>&nbsp;</p>
<p>インストールされていない場合は、</p>
<div class="sp-info">pip install requests</div>
<div class="sp-info">pip install Pillow</div>
<p>でインストールができます。</p>
<p>&nbsp;</p>
<p>インポートは、</p>
<div class="sp-info">import requests</div>
<div class="sp-info">import io</div>
<div class="sp-info">from PIL import Image</div>
<p>&nbsp;</p>
<p>まずは画像のURLから画像データのバイト列を取得していきます。</p>
<p>取得するには、</p>
<div class="sp-info">requests.get(&#8216;画像のURL&#8217;).content</div>
<p>&nbsp;</p>
<p>今回だと、</p>
<div class="sp-info">requests.get(img_url).content</div>
<p>となり、これも変数に代入しておきます。
</p><pre class="urvanov-syntax-highlighter-plain-tag">img = requests.get(img_url).content</pre><p>
&nbsp;</p>
<p>次に、BytesIOを使って、画像を読み込みます。</p>
<div class="sp-info">io.BytesIO(画像データ)</div>
<p>&nbsp;</p>
<p>今回だと、
</p><pre class="urvanov-syntax-highlighter-plain-tag">img_file = io.BytesIO(img)</pre><p>
とし、変数に代入しておきます。</p>
<p>&nbsp;</p>
<p>いよいよ、取得した画像データをPILライブラリを使って表示させていきます。</p>
<p>表示させるには、</p>
<div class="sp-info">Image.open(&#8220;画像ファイル&#8221;)</div>
<p>&nbsp;</p>
<p>今回だと、</p>
<div class="sp-info">img_rec = Image.open(img_file)</div>
<div>とし、読み込んだ画像を変数に入れておきます。</div>
<div></div>
<div>実行すると、</div>
<div><figure id="attachment_mmd_2907" class="wp-block-image aligncenter"><img decoding="async" width="680" height="382" src="https://dreamparadaisu.com/wp-content/uploads/2021/08/imgCat02.jpg" class="attachment-680x576 size-680x576" alt="" loading="lazy" align="center" /></figure></div>
<div>はい、検索結果の1枚目の画像の猫が表示されています。</div>
<div>かわいいですね。</div>
<div></div>
<div><a href="https://px.a8.net/svt/ejp?a8mat=3HIPIV+LFMK2+4QYG+614CX" rel="nofollow">
<img loading="lazy" decoding="async" class="aligncenter" src="https://www28.a8.net/svt/bgt?aid=210824887036&amp;wid=001&amp;eno=01&amp;mid=s00000022156001013000&amp;mc=1" alt="" width="300" height="250" border="0"></a>
<img loading="lazy" decoding="async" class="aligncenter" src="https://www12.a8.net/0.gif?a8mat=3HIPIV+LFMK2+4QYG+614CX" alt="" width="1" height="1" border="0"></div>
<div></div>
<h1>画像の保存</h1>
<p>画像も表示できたので、最後に保存をしていきます。</p>
<p>画像の保存をするには、</p>
<p>&nbsp;</p>
<div class="sp-info">.save(&#8216;画像ファイルの保存先+ファイル名&#8217;)</div>
<p>とすることで保存が行えます。</p>
<p>&nbsp;</p>
<p>今回だと、
</p><pre class="urvanov-syntax-highlighter-plain-tag">img_rec.save('imgCat01.jpg')</pre><p>
と書きます。</p>
<p>&nbsp;</p>
<p>ファイル名のみの場合、</p>
<p><span class="marker-under">現在プログラムが実行されている場所(カレントフォルダ)に保存がされます</span>。</p>
<p>&nbsp;</p>
<p>これで画像の保存ができました。</p>
<p>ここまでで画像の検索から取得、表示、保存を行ってきました。</p>
<p>&nbsp;</p>
<p>お疲れ様でした。</p>
<p>&nbsp;</p>
<h1>まとめ</h1>
<p>今回は、Seleniumを使って実際にGoogle検索してヒットした画像を取得し、</p>
<p>保存する方法について紹介しました。</p>
<p>&nbsp;</p>
<p>この方法を応用することで複数の画像を取得出来たり、</p>
<p>他にも動画の取得にも活かすことができるようになるかと思います。</p>
<p>&nbsp;</p>
<p>ただし、<strong><span class="red-under">一度に大量の画像を間隔なしに取得するのは、</span></strong></p>
<p><strong><span class="red-under">サーバに負荷がかかるのでやめましょう</span></strong>。</p>
<p>&nbsp;</p>
<p>最後までお読みいただきありがとうございます。</p>
<p>&nbsp;</p>
<p><strong><em>・こちらの書籍を参考にPythonの理解を深めました。</em></strong></p>
<div class="wpap-tpl wpap-tpl-detail wpap-tpl-rakuten-books"><a href="https://hb.afl.rakuten.co.jp/hgc/g00q0728.wj9ire09.g00q0728.wj9isd7f/?pc=https%3A%2F%2Fbooks.rakuten.co.jp%2Frb%2F12223744%2F%3Frafcid%3Dwsc_b_ts_1064955924733071255" rel="nofollow" class="wpap-link" target="_blank" data-click-tracking="楽天ブックス 9784798130804 空飛ぶPython即時開発指南書"><div class="wpap-image"><img decoding="async" src="https://thumbnail.image.rakuten.co.jp/@0_mall/book/cabinet/0804/9784798130804.jpg?_ex=200x200" alt="空飛ぶPython即時開発指南書" /></div><p class="wpap-title">空飛ぶPython即時開発指南書</p><div class="wpap-creator">ナオミ・セダー, 新丈径</div><div class="wpap-price">3,080円<span class="wpap-date">(06/13 09:15時点)</span></div><div class="wpap-service">楽天ブックス</div></a></div>
<div class="wpap-tpl wpap-tpl-detail wpap-tpl-rakuten-books"><a href="https://hb.afl.rakuten.co.jp/hgc/g00q0728.wj9ire09.g00q0728.wj9isd7f/?pc=https%3A%2F%2Fbooks.rakuten.co.jp%2Frb%2F13819463%2F%3Frafcid%3Dwsc_b_ts_1064955924733071255" rel="nofollow" class="wpap-link" target="_blank" data-click-tracking="楽天ブックス 9784797384406 確かな力が身につくPython「超」入門"><div class="wpap-image"><img decoding="async" src="https://thumbnail.image.rakuten.co.jp/@0_mall/book/cabinet/4406/9784797384406.jpg?_ex=200x200" alt="確かな力が身につくPython「超」入門" /></div><p class="wpap-title">確かな力が身につくPython「超」入門</p><div class="wpap-creator">鎌田正浩</div><div class="wpap-price">2,728円<span class="wpap-date">(06/13 09:15時点)</span></div><div class="wpap-service">楽天ブックス</div></a></div>
<p>&nbsp;</p>		<div class="wpulike wpulike-default " ><div class="wp_ulike_general_class wp_ulike_is_restricted"><button type="button"
					aria-label="いいねボタン"
					data-ulike-id="2890"
					data-ulike-nonce="93ef36a960"
					data-ulike-type="post"
					data-ulike-template="wpulike-default"
					data-ulike-display-likers=""
					data-ulike-likers-style="popover"
					class="wp_ulike_btn wp_ulike_put_image wp_post_btn_2890"></button><span class="count-box wp_ulike_counter_up" data-ulike-counter-value="0"></span>			</div></div>The post <a href="https://dreamparadaisu.com/python_34/">【Python勉強会】Seleniumを活用してGoogle検索した画像を取得し保存してみた</a> first appeared on <a href="https://dreamparadaisu.com">リョクちゃの電脳日記</a>.<div class='yarpp yarpp-related yarpp-related-rss yarpp-related-none yarpp-template-list'>
<p>この投稿の関連記事が見つかりませんでした。</p>
</div>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">2890</post-id>	</item>
		<item>
		<title>【Python勉強会】Seleniumのインストールをしてみた～Google Chrome編～</title>
		<link>https://dreamparadaisu.com/python_33/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=python_33</link>
		
		<dc:creator><![CDATA[リョクちゃ]]></dc:creator>
		<pubDate>Wed, 25 Aug 2021 21:54:54 +0000</pubDate>
				<category><![CDATA[Python]]></category>
		<category><![CDATA[Selenium]]></category>
		<category><![CDATA[プログラム]]></category>
		<category><![CDATA[入門]]></category>
		<guid isPermaLink="false">https://dreamparadaisu.com/?p=2871</guid>

					<description><![CDATA[<p>どうも！リョクちゃです。 &#160; 今回は、Seleniumというライブラリをインストールし、 ブラウザ操作の自動化が行えるようになる準備となります。 実際のブラウザ操作自動化については以降の記事で紹介していきます。...</p>
The post <a href="https://dreamparadaisu.com/python_33/">【Python勉強会】Seleniumのインストールをしてみた～Google Chrome編～</a> first appeared on <a href="https://dreamparadaisu.com">リョクちゃの電脳日記</a>.<div class='yarpp yarpp-related yarpp-related-rss yarpp-related-none yarpp-template-list'>

この投稿の関連記事が見つかりませんでした。
</div>
]]></description>
										<content:encoded><![CDATA[<p>どうも！リョクちゃです。</p>
<p>&nbsp;</p>
<p>今回は、Seleniumというライブラリをインストールし、</p>
<p>ブラウザ操作の自動化が行えるようになる準備となります。</p>
<p>実際のブラウザ操作自動化については以降の記事で紹介していきます。</p>
<p>&nbsp;</p>
<p>前回の記事はこちら</p>
<div class="blog-card internal-blog-card blog-card-thumbnail-right cf"><div class="blog-card-thumbnail"><a href="https://dreamparadaisu.com/python_32/" class="blog-card-thumbnail-link"><img width="100" height="100" src="https://dreamparadaisu.com/wp-content/uploads/2020/08/python_18894-100x100.png" class="blog-card-thumb-image wp-post-image" alt="" srcset="https://dreamparadaisu.com/wp-content/uploads/2020/08/python_18894-100x100.png 100w, https://dreamparadaisu.com/wp-content/uploads/2020/08/python_18894-300x300.png 300w, https://dreamparadaisu.com/wp-content/uploads/2020/08/python_18894-150x150.png 150w, https://dreamparadaisu.com/wp-content/uploads/2020/08/python_18894-75x75.png 75w, https://dreamparadaisu.com/wp-content/uploads/2020/08/python_18894-120x120.png 120w, https://dreamparadaisu.com/wp-content/uploads/2020/08/python_18894.png 512w" sizes="(max-width: 100px) 100vw, 100px" /></a></div><div class="blog-card-content"><div class="blog-card-title"><a href="https://dreamparadaisu.com/python_32/" class="blog-card-title-link">【Python勉強会】randomモジュールを使って簡単におみくじを作ってみた</a></div><div class="blog-card-excerpt">手始めに何らかのモジュールを使って、何か作ってみたい！そんなことはありませんか？今回はrandomモジュールを使って、おみくじなるものを作成してみます。コンソールライン上で今日の運勢を簡単に占ってもらいます。</div></div><div class="blog-card-footer"><div class="blog-card-site">dreamparadaisu.com</div><div class="blog-card-hatebu"><a href="//b.hatena.ne.jp/entry/https://dreamparadaisu.com/python_32/" rel="nofollow"><img src="//b.hatena.ne.jp/entry/image/https://dreamparadaisu.com/python_32/" alt="" /></a></div><div class="blog-card-date">2021-08-24 03:44</div></div></div>
<p>&nbsp;</p>
<p><a href="https://px.a8.net/svt/ejp?a8mat=3NA5PS+1NJD9U+3CJQ+60H7L" rel="nofollow">
<img loading="lazy" decoding="async" class="aligncenter" src="https://www27.a8.net/svt/bgt?aid=220503664100&amp;wid=001&amp;eno=01&amp;mid=s00000015623001010000&amp;mc=1" alt="" width="468" height="60" border="0" /></a></p>
<img loading="lazy" decoding="async" class="aligncenter" src="https://www13.a8.net/0.gif?a8mat=3NA5PS+1NJD9U+3CJQ+60H7L" alt="" width="1" height="1" border="0" />
<p>&nbsp;</p>
<h1>Seleniumとは</h1>
<p>Webサイトにおけるブラウザ操作に自動化の支援をしてくれる、</p>
<p><span class="marker-under">ブラウザ操作の自動化に特化したライブラリ</span>となっています。</p>
<p>&nbsp;</p>
<p>最近では<strong><span class="red-under">RPA</span></strong>が一般的に認知されてきたことから、</p>
<p>ブラウザでの操作自動化に関する知見も広まり、</p>
<p>Seleniumも認知されるようになってきました。</p>
<p>&nbsp;</p>
<p><span class="marker-under">RPAとSeleniumは近しいようで中身は異なります</span>。</p>
<p>※気になる方、詳しくはRPAで検索してみてください。</p>
<p>&nbsp;</p>
<p>基本的にSeleniumは<span class="red-under">ブラウザ操作に特化</span>したもので、</p>
<p>RPAはコンピュータ上で行われる<span class="red-under">業務プロセスを自動化</span>してくれます。</p>
<p>そのため、ブラウザ操作のみならず、Excel操作の自動化なども得意とします。</p>
<p>&nbsp;</p>
<p>一方でSeleniumは、ブラウザ操作に関してはお手の物です。</p>
<p>例えば、ログイン処理やクリック作業などの作業を自動化できたりします。</p>
<p>&nbsp;</p>
<p>余談は置いておいて、早速使っていきます。</p>
<p>&nbsp;</p>
<h1>Seleniumを使う</h1>
<p>&nbsp;</p>
<h2>インストール</h2>
<p>下記コマンドでインストールを行います。</p>
<div class="sp-info">pip install selenium</div>
<div></div>
<div>これだけでインストールが行えます。</div>
<div>特に大きな設定はないので、簡単にインストールができます。</div>
<div></div>
<h2>使い方</h2>
<div>下記コマンドで使えるようにします。</div>
<div class="sp-info">from selenium import webdriver</div>
<div></div>
<h2>ブラウザの設定</h2>
<p>Seleniumでは、ブラウザを指定することでお気に入りの環境(ブラウザ)で</p>
<p>操作の自動化が行えます。</p>
<p>&nbsp;</p>
<p>例えば、GoogleChromeやFireFox、Edge</p>
<p>&nbsp;</p>
<p>これらを使うには、<span class="marker-under">各ブラウザのWebドライバーをインストールする必要</span>があります。</p>
<p>ここが躓くポイントなので、詳しく述べていきます。</p>
<p>&nbsp;</p>
<p>まず、使うブラウザの自身の環境のバージョンを確認しておきます。</p>
<p>&nbsp;</p>
<h3>GoogleChromeの場合</h3>
<ol>

<li>Chromeを起動します。</li>

<li>設定を押します。</li>

<li>&#8220;Chromeについて&#8221;をクリック</li>

<li>バージョンの確認</li>
</ol>
<p>&nbsp;</p>
<ol start="2">
<li>設定を押します。</li>
</ol>
<figure id="attachment_mmd_2872" class="wp-block-image aligncenter"><img decoding="async" width="698" height="736" src="https://dreamparadaisu.com/wp-content/uploads/2021/08/selenium_1.png" class="attachment-full size-full" alt="" loading="lazy" align="center" /></figure>
<p>&nbsp;</p>
<p>&nbsp;</p>
<ol start="3">
<li>&#8220;Chromeについて&#8221;をクリック</li>
</ol>
<figure id="attachment_mmd_2873" class="wp-block-image aligncenter"><img decoding="async" width="628" height="731" src="https://dreamparadaisu.com/wp-content/uploads/2021/08/selenium_2.png" class="attachment-full size-full" alt="" loading="lazy" align="center" /></figure>
<p>&nbsp;</p>
<p>&nbsp;</p>
<ol start="4">
<li>バージョンの確認</li>
</ol>
<figure id="attachment_mmd_2874" class="wp-block-image aligncenter"><img decoding="async" width="680" height="275" src="https://dreamparadaisu.com/wp-content/uploads/2021/08/selenium_3.png" class="attachment-680x413 size-680x413" alt="" loading="lazy" align="center" /></figure>
<p>環境によってバージョンは違うので確認は忘れずに行っておきましょう。</p>
<p>&nbsp;</p>
<p>バージョンがわかったら、下記サイトからドライバーをインストールしてきます。</p>
<p><a href="https://chromedriver.chromium.org/downloads"><a href="https://chromedriver.chromium.org/downloads">https://chromedriver.chromium.org/downloads</a></a></p>
<div></div>
<div><figure id="attachment_mmd_2875" class="wp-block-image aligncenter"><img decoding="async" width="680" height="392" src="https://dreamparadaisu.com/wp-content/uploads/2021/08/selenium_4.png" class="attachment-680x590 size-680x590" alt="" loading="lazy" align="center" /></figure></div>
<div></div>
<div></div>
<div>該当のバージョンをクリックすると、下記ページに遷移します。</div>
<div><figure id="attachment_mmd_2876" class="wp-block-image aligncenter"><img decoding="async" width="803" height="301" src="https://dreamparadaisu.com/wp-content/uploads/2021/08/selenium_5.png" class="attachment-full size-full" alt="" loading="lazy" align="center" /></figure></div>
<div></div>
<div>自身の環境に合わせたドライバーをインストールしてください。</div>
<div>※<span class="marker-under">Windows環境で<strong>64ビットの場合</strong>は、win32をインストールします</span>。</div>
<div></div>
<div></div>
<div>zip形式でのインストールになります。</div>
<div>インストールが終わったら、解凍をしましょう。</div>
<div></div>
<div>解凍をすると、</div>
<div><figure id="attachment_mmd_2877" class="wp-block-image aligncenter"><img decoding="async" width="549" height="148" src="https://dreamparadaisu.com/wp-content/uploads/2021/08/selenium_6.png" class="attachment-full size-full" alt="" loading="lazy" align="center" /></figure></div>
<div>chromedriver.exeというファイルがあると思います。</div>
<div></div>
<div>このファイルを、<span class="marker-under">seleniumを使うPythonファイルが保存されている</span></div>
<div><span class="marker-under">フォルダに入れておきます</span>。</div>
<div></div>
<div>下記のようなイメージになります。</div>
<div><figure id="attachment_mmd_2878" class="wp-block-image aligncenter"><img decoding="async" width="549" height="148" src="https://dreamparadaisu.com/wp-content/uploads/2021/08/selenium_7.png" class="attachment-full size-full" alt="" loading="lazy" align="center" /></figure></div>
<div></div>
<div>これでSeleniumを使ってブラウザ操作を行う準備ができました。</div>
<div></div>
<div>ブラウザを立ち上げるまで、進めていきます。</div>
<div></div>
<div><a href="https://px.a8.net/svt/ejp?a8mat=3HIMEG+G1IHKI+4PGA+BXYE9" rel="nofollow">
<img loading="lazy" decoding="async" class="aligncenter" src="https://www25.a8.net/svt/bgt?aid=210820840970&amp;wid=001&amp;eno=01&amp;mid=s00000021961002006000&amp;mc=1" alt="" width="468" height="120" border="0"></a>
<img loading="lazy" decoding="async" class="aligncenter" src="https://www17.a8.net/0.gif?a8mat=3HIMEG+G1IHKI+4PGA+BXYE9" alt="" width="1" height="1" border="0"></div>
<div></div>
<h2>ブラウザ起動</h2>
<p>GoogleChromeをSeleniumで立ち上げるには、</p>
<div class="sp-info">変数名 = webdriver.Chrome()</div>
<p>&nbsp;</p>
<p>とすることでChromeブラウザを立ち上げることができます。</p>
<p>立ち上げると下図のようになります。</p>
<figure id="attachment_mmd_2882" class="wp-block-image aligncenter"><img decoding="async" width="924" height="328" src="https://dreamparadaisu.com/wp-content/uploads/2021/08/selenium_8.png" class="attachment-full size-full" alt="" loading="lazy" align="center" /></figure>
<p>&nbsp;</p>
<p>Seleniumを使って立ち上げると、&#8221;自動テストソフトウェアによって制限されています。&#8221;</p>
<p>と表示された、Chromeブラウザが立ち上がります。</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<h1>まとめ</h1>
<p>Seleniumをインストールして、ブラウザを立ち上げる方法までを紹介していきました。</p>
<p>今回はGoogleChromeでしたが、EdgeやFireFoxについても触れていこうと思います。</p>
<p>&nbsp;</p>
<p>次回は、実際に検索をして、データを取得するといったとこを記事にできたらなと思います。</p>
<p>&nbsp;</p>
<p>最後までお読みいただきありがとうございます。</p>
<div></div>		<div class="wpulike wpulike-default " ><div class="wp_ulike_general_class wp_ulike_is_restricted"><button type="button"
					aria-label="いいねボタン"
					data-ulike-id="2871"
					data-ulike-nonce="f605da2edc"
					data-ulike-type="post"
					data-ulike-template="wpulike-default"
					data-ulike-display-likers=""
					data-ulike-likers-style="popover"
					class="wp_ulike_btn wp_ulike_put_image wp_post_btn_2871"></button><span class="count-box wp_ulike_counter_up" data-ulike-counter-value="+1"></span>			</div></div>The post <a href="https://dreamparadaisu.com/python_33/">【Python勉強会】Seleniumのインストールをしてみた～Google Chrome編～</a> first appeared on <a href="https://dreamparadaisu.com">リョクちゃの電脳日記</a>.<div class='yarpp yarpp-related yarpp-related-rss yarpp-related-none yarpp-template-list'>
<p>この投稿の関連記事が見つかりませんでした。</p>
</div>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">2871</post-id>	</item>
	</channel>
</rss>
