<?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>業務効率化  |  Pythonアカデミア</title>
	<atom:link href="https://arika-blog.com/category/python/efficiency/feed/" rel="self" type="application/rss+xml" />
	<link>https://arika-blog.com</link>
	<description>Pythonの基礎が学べる</description>
	<lastBuildDate>Fri, 30 Jan 2026 20:53:21 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://arika-blog.com/wp-content/uploads/2022/11/cropped-icon-12-32x32.png</url>
	<title>業務効率化  |  Pythonアカデミア</title>
	<link>https://arika-blog.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<atom:link rel='hub' href='https://arika-blog.com/?pushpress=hub'/>
	<item>
		<title>PyMuPDFを使って単一のページを分割する</title>
		<link>https://arika-blog.com/pymupdf/</link>
					<comments>https://arika-blog.com/pymupdf/#respond</comments>
		
		<dc:creator><![CDATA[Pythonアカデミア]]></dc:creator>
		<pubDate>Fri, 05 Dec 2025 22:25:22 +0000</pubDate>
				<category><![CDATA[Python]]></category>
		<category><![CDATA[業務効率化]]></category>
		<category><![CDATA[PDF]]></category>
		<guid isPermaLink="false">https://arika-blog.com/?p=4718</guid>

					<description><![CDATA[本記事では、PythonのPDFライブラリ「PyMuPDF」を使って、単一ページを分割する方法を解説します。PyMuPDFとは、PDFドキュメントのデータ抽出、分析、変換、操作を行う高性能Pythonライブラリです。 リ [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>本記事では、PythonのPDFライブラリ「PyMuPDF」を使って、単一ページを分割する方法を解説します。PyMuPDFとは、PDFドキュメントのデータ抽出、分析、変換、操作を行う高性能Pythonライブラリです。</p>



<div class="wp-block-cocoon-blocks-blogcard blogcard-type bct-none">
<a rel="noopener" href="https://pymupdf.readthedocs.io/ja/latest/index.html" title="PyMuPDF &#12489;&#12461;&#12517;&#12513;&#12531;&#12488;" class="blogcard-wrap external-blogcard-wrap a-wrap cf" target="_blank"><div class="blogcard external-blogcard eb-left cf"><div class="blogcard-label external-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail external-blogcard-thumbnail"><img decoding="async" src="https://s.wordpress.com/mshots/v1/https%3A%2F%2Fpymupdf.readthedocs.io%2Fja%2Flatest%2Findex.html?w=160&#038;h=90" alt="" class="blogcard-thumb-image external-blogcard-thumb-image" width="160" height="90" /></figure><div class="blogcard-content external-blogcard-content"><div class="blogcard-title external-blogcard-title">PyMuPDF &#12489;&#12461;&#12517;&#12513;&#12531;&#12488;</div><div class="blogcard-snippet external-blogcard-snippet">PyMuPDF は、PDF （およびその他の）ドキュメントのデータ抽出、分析、変換、操作のための高性能な Python ライブラリです。</div></div><div class="blogcard-footer external-blogcard-footer cf"><div class="blogcard-site external-blogcard-site"><div class="blogcard-favicon external-blogcard-favicon"><img decoding="async" src="https://www.google.com/s2/favicons?domain=https://pymupdf.readthedocs.io/ja/latest/index.html" alt="" class="blogcard-favicon-image external-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain external-blogcard-domain">pymupdf.readthedocs.io</div></div></div></div></a>
</div>



<!-- START MoshimoAffiliateEasyLink --><script type="text/javascript">(function(b,c,f,g,a,d,e){b.MoshimoAffiliateObject=a;b[a]=b[a]||function(){arguments.currentScript=c.currentScript||c.scripts[c.scripts.length-2];(b[a].q=b[a].q||[]).push(arguments)};c.getElementById(a)||(d=c.createElement(f),d.src=g,d.id=a,e=c.getElementsByTagName("body")[0],e.appendChild(d))})(window,document,"script","//dn.msmstatic.com/site/cardlink/bundle.js?20220329","msmaflink");msmaflink({"n":"作りたいものがない人のためのＰｙｔｈｏｎ入門 (ＫＳ情報科学専門書)","b":"","t":"","d":"https:\/\/m.media-amazon.com","c_p":"","p":["\/images\/I\/419U+3cZ9gL._SL500_.jpg"],"u":{"u":"https:\/\/www.amazon.co.jp\/dp\/B0FM3TR3WD","t":"amazon","r_v":""},"v":"2.1","b_l":[{"id":1,"u_tx":"Amazonで見る","u_bc":"#f79256","u_url":"https:\/\/www.amazon.co.jp\/dp\/B0FM3TR3WD","a_id":3719461,"p_id":170,"pl_id":27060,"pc_id":185,"s_n":"amazon","u_so":1},{"id":2,"u_tx":"楽天市場で見る","u_bc":"#f76956","u_url":"https:\/\/search.rakuten.co.jp\/search\/mall\/%E4%BD%9C%E3%82%8A%E3%81%9F%E3%81%84%E3%82%82%E3%81%AE%E3%81%8C%E3%81%AA%E3%81%84%E4%BA%BA%E3%81%AE%E3%81%9F%E3%82%81%E3%81%AE%EF%BC%B0%EF%BD%99%EF%BD%94%EF%BD%88%EF%BD%8F%EF%BD%8E%E5%85%A5%E9%96%80%20(%EF%BC%AB%EF%BC%B3%E6%83%85%E5%A0%B1%E7%A7%91%E5%AD%A6%E5%B0%82%E9%96%80%E6%9B%B8)\/","a_id":3715568,"p_id":54,"pl_id":27059,"pc_id":54,"s_n":"rakuten","u_so":2}],"eid":"xm2PQ","s":"l"});</script><div id="msmaflink-xm2PQ">リンク</div><!-- MoshimoAffiliateEasyLink END -->



<h2 class="wp-block-heading">PyMuPDFを使って単一のページを分割する</h2>



<p>PyMuPDFを使って単一のページを分割します。<br>動作の確認は横方向のPDFファイルで行っています。</p>



<figure class="wp-block-image size-full is-resized"><img fetchpriority="high" decoding="async" width="640" height="480" src="https://arika-blog.com/wp-content/uploads/2025/12/9863f6372e417ca004dfdf1bc4a5d529.png" alt="" class="wp-image-4732" style="width:375px;height:auto" srcset="https://arika-blog.com/wp-content/uploads/2025/12/9863f6372e417ca004dfdf1bc4a5d529.png 640w, https://arika-blog.com/wp-content/uploads/2025/12/9863f6372e417ca004dfdf1bc4a5d529-300x225.png 300w" sizes="(max-width: 640px) 100vw, 640px" /></figure>



<p>全体のコードを先に提示します。</p>



<script src="https://gist.github.com/arika-python/cc3bdb51401638ed78607d49325aeb1e.js"></script>



<p>いくつかコードの説明をします。</p>



<p>新しい空のPDFを作成しています。</p>



<script src="https://gist.github.com/arika-python/e8623d945510f05e7c6558fe91208fb4.js"></script>



<p>Rectオブジェクトを作成しています。Rectとは日本語で矩形（長方形）です。</p>



<script src="https://gist.github.com/arika-python/56685a72c474bedfb701e34facc27668.js"></script>



<p>また、Rectは4つの浮動小数点数x0、y0、x1、y1によって定義されます。</p>



<figure class="wp-block-image size-full is-resized"><img loading="lazy" decoding="async" width="469" height="221" src="https://arika-blog.com/wp-content/uploads/2025/12/ab9108c9e1581b9c4324ecdd65f38547.png" alt="" class="wp-image-4726" style="width:359px;height:auto" srcset="https://arika-blog.com/wp-content/uploads/2025/12/ab9108c9e1581b9c4324ecdd65f38547.png 469w, https://arika-blog.com/wp-content/uploads/2025/12/ab9108c9e1581b9c4324ecdd65f38547-300x141.png 300w" sizes="auto, (max-width: 469px) 100vw, 469px" /></figure>



<p>横向きのPDFを分割して新しいページを作成しています。</p>



<script src="https://gist.github.com/arika-python/6d958b22282a80d130614fb764e27b49.js"></script>



<h2 class="wp-block-heading">おわり</h2>



<p>ページ分割はPyMuPDFの得意分野です。今回のサンプルをベースに、用途に合わせて自由にアレンジしてみてください。</p>



<p class="has-text-align-center"><strong>Pythonで業務効率化してみませんか？</strong></p>



<div class="wp-block-cocoon-blocks-blogcard blogcard-type bct-none">
<a rel="noopener" href="https://zenn.dev/python_academia/books/f1c725e023dcae" title="【Pyhton×Excel】Excel自動化 はじめの1歩" class="blogcard-wrap external-blogcard-wrap a-wrap cf" target="_blank"><div class="blogcard external-blogcard eb-left cf"><div class="blogcard-label external-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail external-blogcard-thumbnail"><img loading="lazy" decoding="async" src="https://arika-blog.com/wp-content/uploads/cocoon-resources/blog-card-cache/6a113fd3acc42c5a6007dc6409e992a6.jpg" alt="" class="blogcard-thumb-image external-blogcard-thumb-image" width="160" height="90" /></figure><div class="blogcard-content external-blogcard-content"><div class="blogcard-title external-blogcard-title">【Pyhton×Excel】Excel自動化 はじめの1歩</div><div class="blogcard-snippet external-blogcard-snippet">本書ではPythonを使ったExcel操作の自動化について解説をします。 「基本的な操作」や「実務を想定した内容」をこの1冊で学ぶことができます。 また、本書からPythonを始める方でも問題ないように、Pythonの始め方や基礎文法も収録しています。 ・プログラミングを1か</div></div><div class="blogcard-footer external-blogcard-footer cf"><div class="blogcard-site external-blogcard-site"><div class="blogcard-favicon external-blogcard-favicon"><img loading="lazy" decoding="async" src="https://www.google.com/s2/favicons?domain=https://zenn.dev/python_academia/books/f1c725e023dcae" alt="" class="blogcard-favicon-image external-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain external-blogcard-domain">zenn.dev</div></div></div></div></a>
</div>
]]></content:encoded>
					
					<wfw:commentRss>https://arika-blog.com/pymupdf/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>win32com com_error: (-2147221005, &#8216;クラス文字列が無効です&#8217;, None, None)の対処法</title>
		<link>https://arika-blog.com/win32com-com-error/</link>
					<comments>https://arika-blog.com/win32com-com-error/#respond</comments>
		
		<dc:creator><![CDATA[Pythonアカデミア]]></dc:creator>
		<pubDate>Mon, 10 Mar 2025 20:30:01 +0000</pubDate>
				<category><![CDATA[Python]]></category>
		<category><![CDATA[業務効率化]]></category>
		<category><![CDATA[エラー対処]]></category>
		<guid isPermaLink="false">https://arika-blog.com/?p=4395</guid>

					<description><![CDATA[win32comを使ってOutlookを自動化した際にエラーが発生した。自分のパソコンでテストした時は問題なく動作したが、他部署にexeファイル化して渡したところ com_error: (-2147221005, &#8 [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>win32comを使ってOutlookを自動化した際にエラーが発生した。<br>自分のパソコンでテストした時は問題なく動作したが、他部署にexeファイル化して渡したところ</p>



<p><strong>com_error: (-2147221005, &#8216;クラス文字列が無効です&#8217;, None, None)</strong></p>



<p>というエラーが表示された。</p>



<p>アプリケーションを読み込む部分でエラーが発生している。</p>



<script src="https://gist.github.com/arika-python/db47c492f007f44c0bcc28cffe189de2.js"></script>



<p>色々と調べると</p>



<ul class="wp-block-list">
<li>bit数が違う</li>



<li>Outlook.exeがローカルに保存されていない</li>
</ul>



<p>この2点が問題ではないかと書いてあったが、どちらも問題はなかった。</p>



<h2 class="wp-block-heading"><a rel="noopener" href="https://qiita.com/python_academia/items/3bb5c4cc339bede406fe#%E7%B5%90%E8%AB%96"></a>結論</h2>



<p>WindowsのスタートメニューからOutlookが消えていた。<br>どうやらローカルに保存されているだけでは読み込んでくれない模様。</p>



<p>設定のアプリと機能からOfficeをクイック修復をしたところエラーが解消した。</p>



<div class="wp-block-cocoon-blocks-blogcard blogcard-type bct-none">
<a rel="noopener" href="https://support.microsoft.com/ja-jp/office/office-%E3%82%A2%E3%83%97%E3%83%AA%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%82%92%E4%BF%AE%E5%BE%A9%E3%81%99%E3%82%8B-7821d4b6-7c1d-4205-aa0e-a6b40c5bb88b" title="Office &#x30A2;&#x30D7;&#x30EA;&#x30B1;&#x30FC;&#x30B7;&#x30E7;&#x30F3;&#x3092;&#x4FEE;&#x5FA9;&#x3059;&#x308B; - Microsoft &#x30B5;&#x30DD;&#x30FC;&#x30C8;" class="blogcard-wrap external-blogcard-wrap a-wrap cf" target="_blank"><div class="blogcard external-blogcard eb-left cf"><div class="blogcard-label external-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail external-blogcard-thumbnail"><img loading="lazy" decoding="async" src="https://s.wordpress.com/mshots/v1/https%3A%2F%2Fsupport.microsoft.com%2Fja-jp%2Foffice%2Foffice-%25E3%2582%25A2%25E3%2583%2597%25E3%2583%25AA%25E3%2582%25B1%25E3%2583%25BC%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%25B3%25E3%2582%2592%25E4%25BF%25AE%25E5%25BE%25A9%25E3%2581%2599%25E3%2582%258B-7821d4b6-7c1d-4205-aa0e-a6b40c5bb88b?w=160&#038;h=90" alt="" class="blogcard-thumb-image external-blogcard-thumb-image" width="160" height="90" /></figure><div class="blogcard-content external-blogcard-content"><div class="blogcard-title external-blogcard-title">Office &#x30A2;&#x30D7;&#x30EA;&#x30B1;&#x30FC;&#x30B7;&#x30E7;&#x30F3;&#x3092;&#x4FEE;&#x5FA9;&#x3059;&#x308B; - Microsoft &#x30B5;&#x30DD;&#x30FC;&#x30C8;</div><div class="blogcard-snippet external-blogcard-snippet">破損した Office アプリのインストールを修復します。</div></div><div class="blogcard-footer external-blogcard-footer cf"><div class="blogcard-site external-blogcard-site"><div class="blogcard-favicon external-blogcard-favicon"><img loading="lazy" decoding="async" src="https://www.google.com/s2/favicons?domain=https://support.microsoft.com/ja-jp/office/office-%E3%82%A2%E3%83%97%E3%83%AA%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%82%92%E4%BF%AE%E5%BE%A9%E3%81%99%E3%82%8B-7821d4b6-7c1d-4205-aa0e-a6b40c5bb88b" alt="" class="blogcard-favicon-image external-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain external-blogcard-domain">support.microsoft.com</div></div></div></div></a>
</div>
]]></content:encoded>
					
					<wfw:commentRss>https://arika-blog.com/win32com-com-error/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>【Python】pyodbcを使ってACCESSのデータベースを操る</title>
		<link>https://arika-blog.com/python-pyodbc/</link>
					<comments>https://arika-blog.com/python-pyodbc/#respond</comments>
		
		<dc:creator><![CDATA[Pythonアカデミア]]></dc:creator>
		<pubDate>Mon, 29 Jul 2024 21:50:18 +0000</pubDate>
				<category><![CDATA[Python]]></category>
		<category><![CDATA[業務効率化]]></category>
		<category><![CDATA[モジュール]]></category>
		<guid isPermaLink="false">https://arika-blog.com/?p=3977</guid>

					<description><![CDATA[pyodbcを使うとAccessのテーブル•クエリに対して、データの取得・書き込みができます。本記事ではその方法について解説をします。 pyodbcの使い方 以下のコードでACCESSからデータを取得することができます。 [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>pyodbcを使うとAccessのテーブル•クエリに対して、データの取得・書き込みができます。本記事ではその方法について解説をします。</p>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-11 sbs-flat sbp-l sbis-sn cf block-box"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://arika-blog.com/wp-content/uploads/2025/11/icon-1-1-1.png" alt="" class="speech-icon-image"/></figure><div class="speech-name"></div></div><div class="speech-balloon">
<p>ODBCとは、マイクロソフトが作成したプログラムとデータベースの仲立ちをするものです</p>
</div></div>



<h2 class="wp-block-heading">pyodbcの使い方</h2>



<p>以下のコードでACCESSからデータを取得することができます。</p>



<p>インストールがまだの方はpipでインストールしてください。</p>



<div class="wp-block-cocoon-blocks-blogcard blogcard-type bct-none">
<a rel="noopener" href="https://pypi.org/project/pyodbc/" title="pyodbc" class="blogcard-wrap external-blogcard-wrap a-wrap cf" target="_blank"><div class="blogcard external-blogcard eb-left cf"><div class="blogcard-label external-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail external-blogcard-thumbnail"><img loading="lazy" decoding="async" src="https://pypi.org/static/images/twitter.abaf4b19.webp" alt="" class="blogcard-thumb-image external-blogcard-thumb-image" width="160" height="90" /></figure><div class="blogcard-content external-blogcard-content"><div class="blogcard-title external-blogcard-title">pyodbc</div><div class="blogcard-snippet external-blogcard-snippet">DB API module for ODBC</div></div><div class="blogcard-footer external-blogcard-footer cf"><div class="blogcard-site external-blogcard-site"><div class="blogcard-favicon external-blogcard-favicon"><img loading="lazy" decoding="async" src="https://www.google.com/s2/favicons?domain=https://pypi.org/project/pyodbc/" alt="" class="blogcard-favicon-image external-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain external-blogcard-domain">pypi.org</div></div></div></div></a>
</div>



<script src="https://gist.github.com/arika-python/5aba81c365d3056cb01bd9d80b3d2c89.js"></script>



<p>PCに入っているODBCドライバーは<strong>pyodbc.drivers()</strong>で調べることができます。</p>



<div class="wp-block-cocoon-blocks-icon-box common-icon-box block-box information-box">
<p>ACCESS以外にもSQL Serverから取得することもできます。</p>
</div>



<script src="https://gist.github.com/arika-python/1b5676e9b61167f4c2a8264052eee420.js"></script>



<p>書き込む場合は以下のようになります。</p>



<script src="https://gist.github.com/arika-python/4128b25c8aca86ebc596d5ceba6cfdf0.js"></script>



<h2 class="wp-block-heading">まとめ</h2>



<p>Accessのデータベースに対してデータを取得する方法、書き込む方法を解説しました。<br>Pythonは色々なことができるため、Pythonで操作すれば使い道を広げることができます。興味のある方は是非挑戦してみてください。</p>



<p class="has-text-align-center"><strong>Python 基礎文法の教科書を執筆しました！</strong></p>



<div class="wp-block-cocoon-blocks-blogcard blogcard-type bct-none">
<a rel="noopener" href="https://zenn.dev/python_academia/books/6df147d8b82939" title="【図解】Python 基礎文法の教科書" class="blogcard-wrap external-blogcard-wrap a-wrap cf" target="_blank"><div class="blogcard external-blogcard eb-left cf"><div class="blogcard-label external-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail external-blogcard-thumbnail"><img loading="lazy" decoding="async" src="https://arika-blog.com/wp-content/uploads/cocoon-resources/blog-card-cache/207d1bc4f416570dfed7731b6853821e.jpg" alt="" class="blogcard-thumb-image external-blogcard-thumb-image" width="160" height="90" /></figure><div class="blogcard-content external-blogcard-content"><div class="blogcard-title external-blogcard-title">【図解】Python 基礎文法の教科書</div><div class="blogcard-snippet external-blogcard-snippet">本書は、これからPythonを学ぶ方や初学者の方でも無理なく勉強を進められるように、図解や画像を豊富に使って説明をしています。 内容はPythonチュートリアル（公式のドキュメント）に準拠しているため、理解必須の部分をこの1冊ですべて網羅することができます。 ・プログラミング</div></div><div class="blogcard-footer external-blogcard-footer cf"><div class="blogcard-site external-blogcard-site"><div class="blogcard-favicon external-blogcard-favicon"><img loading="lazy" decoding="async" src="https://www.google.com/s2/favicons?domain=https://zenn.dev/python_academia/books/6df147d8b82939" alt="" class="blogcard-favicon-image external-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain external-blogcard-domain">zenn.dev</div></div></div></div></a>
</div>
]]></content:encoded>
					
					<wfw:commentRss>https://arika-blog.com/python-pyodbc/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>【Python】Pandasだけでグラフを作成する方法</title>
		<link>https://arika-blog.com/pandas-graph/</link>
					<comments>https://arika-blog.com/pandas-graph/#respond</comments>
		
		<dc:creator><![CDATA[Pythonアカデミア]]></dc:creator>
		<pubDate>Tue, 30 Apr 2024 10:14:37 +0000</pubDate>
				<category><![CDATA[Python]]></category>
		<category><![CDATA[業務効率化]]></category>
		<guid isPermaLink="false">https://arika-blog.com/?p=3779</guid>

					<description><![CDATA[Pandasとは表形式ライブラリで、2次元のDataFrameと1次元のSeriesを扱うことができます。データ分析の分野では必須のライブラリと言えます。本記事ではPandasを使ったグラフ作成について解説します。 Pa [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p><a href="https://pandas.pydata.org/">Pandas</a>とは表形式ライブラリで、2次元のDataFrameと1次元のSeriesを扱うことができます。データ分析の分野では必須のライブラリと言えます。本記事ではPandasを使ったグラフ作成について解説します。</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="464" height="205" src="https://arika-blog.com/wp-content/uploads/2024/04/78c7d4d114bab3a55291d7bd7db3aa80.png" alt="" class="wp-image-3803" srcset="https://arika-blog.com/wp-content/uploads/2024/04/78c7d4d114bab3a55291d7bd7db3aa80.png 464w, https://arika-blog.com/wp-content/uploads/2024/04/78c7d4d114bab3a55291d7bd7db3aa80-300x133.png 300w" sizes="auto, (max-width: 464px) 100vw, 464px" /></figure>



<h2 class="wp-block-heading">Pandasで簡単にグラフが作れる</h2>



<p>機械学習ライブラリscikit-learnを使ってアヤメ（花）のデータセットをダウンロードし、グラフを作成していきます。</p>



<p><strong>関連記事</strong><br><a href="https://arika-blog.com/scikit-learn/">【機械学習超入門】あやめの分類をしてみよう</a></p>



<p>コードは以下のようになります。</p>



<script src="https://gist.github.com/arika-python/aabded9aceeb98700ccad940c928a7e9.js"></script>



<p>それぞれのデータは次の通りです。</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="466" height="465" src="https://arika-blog.com/wp-content/uploads/2024/04/iris_data.png" alt="" class="wp-image-3808" srcset="https://arika-blog.com/wp-content/uploads/2024/04/iris_data.png 466w, https://arika-blog.com/wp-content/uploads/2024/04/iris_data-300x300.png 300w, https://arika-blog.com/wp-content/uploads/2024/04/iris_data-150x150.png 150w, https://arika-blog.com/wp-content/uploads/2024/04/iris_data-100x100.png 100w" sizes="auto, (max-width: 466px) 100vw, 466px" /></figure>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="188" height="460" src="https://arika-blog.com/wp-content/uploads/2024/04/iris_target.png" alt="" class="wp-image-3809" srcset="https://arika-blog.com/wp-content/uploads/2024/04/iris_target.png 188w, https://arika-blog.com/wp-content/uploads/2024/04/iris_target-123x300.png 123w" sizes="auto, (max-width: 188px) 100vw, 188px" /></figure>



<p>データフレーム.plot()だけで簡単にグラフができます。</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="534" height="413" src="https://arika-blog.com/wp-content/uploads/2024/04/60996331b9ace75bd51129e451aa7fae.png" alt="" class="wp-image-3810" srcset="https://arika-blog.com/wp-content/uploads/2024/04/60996331b9ace75bd51129e451aa7fae.png 534w, https://arika-blog.com/wp-content/uploads/2024/04/60996331b9ace75bd51129e451aa7fae-300x232.png 300w" sizes="auto, (max-width: 534px) 100vw, 534px" /></figure>



<h2 class="wp-block-heading">まとめ</h2>



<p>pandasでグラフを作成する方法をまとめました。使い方をきちんと押さえておきましょう。</p>



<p>また、pandasが学べるオライリーのデータサイエンスハンドブックは無料で公開されています。英語版のみになりますが、是非ご活用ください。</p>



<div class="wp-block-cocoon-blocks-blogcard blogcard-type bct-none">
<a rel="noopener" href="https://jakevdp.github.io/PythonDataScienceHandbook/" title="Python Data Science Handbook | Python Data Science Handbook" class="blogcard-wrap external-blogcard-wrap a-wrap cf" target="_blank"><div class="blogcard external-blogcard eb-left cf"><div class="blogcard-label external-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail external-blogcard-thumbnail"><img loading="lazy" decoding="async" src="https://s.wordpress.com/mshots/v1/https%3A%2F%2Fjakevdp.github.io%2FPythonDataScienceHandbook%2F?w=160&#038;h=90" alt="" class="blogcard-thumb-image external-blogcard-thumb-image" width="160" height="90" /></figure><div class="blogcard-content external-blogcard-content"><div class="blogcard-title external-blogcard-title">Python Data Science Handbook | Python Data Science Handbook</div><div class="blogcard-snippet external-blogcard-snippet"></div></div><div class="blogcard-footer external-blogcard-footer cf"><div class="blogcard-site external-blogcard-site"><div class="blogcard-favicon external-blogcard-favicon"><img loading="lazy" decoding="async" src="https://www.google.com/s2/favicons?domain=https://jakevdp.github.io/PythonDataScienceHandbook/" alt="" class="blogcard-favicon-image external-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain external-blogcard-domain">jakevdp.github.io</div></div></div></div></a>
</div>



<p class="has-text-align-center"><strong>pandasの理解を深めたい方はこちらの書籍がオススメ！</strong></p>



<!-- START MoshimoAffiliateEasyLink --><script type="text/javascript">(function(b,c,f,g,a,d,e){b.MoshimoAffiliateObject=a;b[a]=b[a]||function(){arguments.currentScript=c.currentScript||c.scripts[c.scripts.length-2];(b[a].q=b[a].q||[]).push(arguments)};c.getElementById(a)||(d=c.createElement(f),d.src=g,d.id=a,e=c.getElementsByTagName("body")[0],e.appendChild(d))})(window,document,"script","//dn.msmstatic.com/site/cardlink/bundle.js?20220329","msmaflink");msmaflink({"n":"Pythonによるデータ分析入門 第2版 ―NumPy、pandasを使ったデータ処理","b":"オライリージャパン","t":"","d":"https:\/\/m.media-amazon.com","c_p":"","p":["\/images\/I\/51NjGkPfTQL._SL500_.jpg"],"u":{"u":"https:\/\/www.amazon.co.jp\/dp\/487311845X","t":"amazon","r_v":""},"v":"2.1","b_l":[{"id":3,"u_tx":"Amazonで見る","u_bc":"#f79256","u_url":"https:\/\/www.amazon.co.jp\/dp\/487311845X","a_id":3719461,"p_id":170,"pl_id":27060,"pc_id":185,"s_n":"amazon","u_so":1},{"id":6,"u_tx":"楽天市場で見る","u_bc":"#f76956","u_url":"https:\/\/search.rakuten.co.jp\/search\/mall\/Python%E3%81%AB%E3%82%88%E3%82%8B%E3%83%87%E3%83%BC%E3%82%BF%E5%88%86%E6%9E%90%E5%85%A5%E9%96%80%20%E7%AC%AC2%E7%89%88%20%E2%80%95NumPy%E3%80%81pandas%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%9F%E3%83%87%E3%83%BC%E3%82%BF%E5%87%A6%E7%90%86\/","a_id":3715568,"p_id":54,"pl_id":27059,"pc_id":54,"s_n":"rakuten","u_so":2}],"eid":"jmUsW","s":"s"});</script><div id="msmaflink-jmUsW">リンク</div><!-- MoshimoAffiliateEasyLink END -->



<p class="has-text-align-center"><strong>Python 基礎文法の教科書を執筆しました！</strong></p>



<div class="wp-block-cocoon-blocks-blogcard blogcard-type bct-none">
<a rel="noopener" href="https://zenn.dev/python_academia/books/6df147d8b82939" title="【図解】Python 基礎文法の教科書" class="blogcard-wrap external-blogcard-wrap a-wrap cf" target="_blank"><div class="blogcard external-blogcard eb-left cf"><div class="blogcard-label external-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail external-blogcard-thumbnail"><img loading="lazy" decoding="async" src="https://arika-blog.com/wp-content/uploads/cocoon-resources/blog-card-cache/207d1bc4f416570dfed7731b6853821e.jpg" alt="" class="blogcard-thumb-image external-blogcard-thumb-image" width="160" height="90" /></figure><div class="blogcard-content external-blogcard-content"><div class="blogcard-title external-blogcard-title">【図解】Python 基礎文法の教科書</div><div class="blogcard-snippet external-blogcard-snippet">本書は、これからPythonを学ぶ方や初学者の方でも無理なく勉強を進められるように、図解や画像を豊富に使って説明をしています。 内容はPythonチュートリアル（公式のドキュメント）に準拠しているため、理解必須の部分をこの1冊ですべて網羅することができます。 ・プログラミング</div></div><div class="blogcard-footer external-blogcard-footer cf"><div class="blogcard-site external-blogcard-site"><div class="blogcard-favicon external-blogcard-favicon"><img loading="lazy" decoding="async" src="https://www.google.com/s2/favicons?domain=https://zenn.dev/python_academia/books/6df147d8b82939" alt="" class="blogcard-favicon-image external-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain external-blogcard-domain">zenn.dev</div></div></div></div></a>
</div>
]]></content:encoded>
					
					<wfw:commentRss>https://arika-blog.com/pandas-graph/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>【Python】Ghostscriptを使ってPDFファイルを簡単に圧縮する方法</title>
		<link>https://arika-blog.com/python-pdf-compression/</link>
					<comments>https://arika-blog.com/python-pdf-compression/#respond</comments>
		
		<dc:creator><![CDATA[Pythonアカデミア]]></dc:creator>
		<pubDate>Mon, 25 Mar 2024 21:39:54 +0000</pubDate>
				<category><![CDATA[Python]]></category>
		<category><![CDATA[業務効率化]]></category>
		<category><![CDATA[PDF]]></category>
		<guid isPermaLink="false">https://arika-blog.com/?p=3732</guid>

					<description><![CDATA[大量のPDFを扱う場合、容量が大きくなり共有しづらくなることがあります。今回はそんな悩みを解決するために、PythonとGhostscriptを使ってPDFファイルを圧縮する方法を解説します。 Ghostscriptをダ [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>大量のPDFを扱う場合、容量が大きくなり共有しづらくなることがあります。今回はそんな悩みを解決するために、PythonとGhostscriptを使ってPDFファイルを圧縮する方法を解説します。</p>



<h2 class="wp-block-heading">Ghostscriptをダウンロードする</h2>



<p>Ghostscriptをダウンロードします。</p>



<div class="wp-block-cocoon-blocks-blogcard blogcard-type bct-none">
<a rel="noopener" href="https://ghostscript.com/releases/gsdnld.html" title="Ghostscript : Releases" class="blogcard-wrap external-blogcard-wrap a-wrap cf" target="_blank"><div class="blogcard external-blogcard eb-left cf"><div class="blogcard-label external-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail external-blogcard-thumbnail"><img loading="lazy" decoding="async" src="https://s.wordpress.com/mshots/v1/https%3A%2F%2Fghostscript.com%2Freleases%2Fgsdnld.html?w=160&#038;h=90" alt="" class="blogcard-thumb-image external-blogcard-thumb-image" width="160" height="90" /></figure><div class="blogcard-content external-blogcard-content"><div class="blogcard-title external-blogcard-title">Ghostscript : Releases</div><div class="blogcard-snippet external-blogcard-snippet">Download the latest Ghostcript releases.</div></div><div class="blogcard-footer external-blogcard-footer cf"><div class="blogcard-site external-blogcard-site"><div class="blogcard-favicon external-blogcard-favicon"><img loading="lazy" decoding="async" src="https://www.google.com/s2/favicons?domain=https://ghostscript.com/releases/gsdnld.html" alt="" class="blogcard-favicon-image external-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain external-blogcard-domain">ghostscript.com</div></div></div></div></a>
</div>



<p>私は<strong>Windows (64 bit) Ghostscript AGPL Release</strong>をダウンロードしました。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="444" src="https://arika-blog.com/wp-content/uploads/2024/03/589332a0937edb5351abc3bc99cf0584-1024x444.png" alt="" class="wp-image-3740" srcset="https://arika-blog.com/wp-content/uploads/2024/03/589332a0937edb5351abc3bc99cf0584-1024x444.png 1024w, https://arika-blog.com/wp-content/uploads/2024/03/589332a0937edb5351abc3bc99cf0584-300x130.png 300w, https://arika-blog.com/wp-content/uploads/2024/03/589332a0937edb5351abc3bc99cf0584-768x333.png 768w, https://arika-blog.com/wp-content/uploads/2024/03/589332a0937edb5351abc3bc99cf0584.png 1200w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<h2 class="wp-block-heading">PDFファイルを圧縮する</h2>



<p>PySimpleGUIを使って選択したファイルを圧縮できるようにします。</p>



<script src="https://gist.github.com/arika-python/89392c13a4006a7c8d3c0abca1d0da56.js"></script>



<p><strong>関連記事</strong><br><a href="https://arika-blog.com/pysimplegui/">【永久保存版】PySimpleGUIの基本操作すべてお伝えします</a></p>



<h2 class="wp-block-heading">まとめ</h2>



<p>PDFファイルを圧縮する方法を解説しました。容量が大きくてお悩みの方は是非お試しください。</p>



<p><strong>関連記事</strong><br><a href="https://arika-blog.com/automation/">【Tesseract OCR】PythonでPDFの文字が抽出できる</a><br><a href="https://axross-recipe.com/recipes/557">Axross Recipe ー PythonとTesseract（OCR）を用いたファイルのリネーム</a></p>



<p class="has-text-align-center"><strong>Python業務効率化の決定版！</strong></p>



<!-- START MoshimoAffiliateEasyLink --><script type="text/javascript">(function(b,c,f,g,a,d,e){b.MoshimoAffiliateObject=a;b[a]=b[a]||function(){arguments.currentScript=c.currentScript||c.scripts[c.scripts.length-2];(b[a].q=b[a].q||[]).push(arguments)};c.getElementById(a)||(d=c.createElement(f),d.src=g,d.id=a,e=c.getElementsByTagName("body")[0],e.appendChild(d))})(window,document,"script","//dn.msmstatic.com/site/cardlink/bundle.js?20220329","msmaflink");msmaflink({"n":"シゴトがはかどる Python自動処理の教科書","b":"","t":"","d":"https:\/\/m.media-amazon.com","c_p":"\/images\/I","p":["\/51gFnBtbrWL._SL500_.jpg","\/41c2z9a7pHL._SL500_.jpg","\/41kmCrLveyL._SL500_.jpg","\/410QYxNdToL._SL500_.jpg","\/41Y0A+gVjoL._SL500_.jpg","\/41CrRYx3cgL._SL500_.jpg","\/41y6mlaC2YL._SL500_.jpg","\/4128481y4AL._SL500_.jpg","\/51HUMusLTqL._SL500_.jpg","\/41MJ2ZE1j5L._SL500_.jpg","\/41pi6oiw1CL._SL500_.jpg","\/41hAKYMqomL._SL500_.jpg","\/51CB9PpBqrL._SL500_.jpg","\/41eeM4mdr5L._SL500_.jpg","\/41WIWSiSm2L._SL500_.jpg","\/41yN+cLVVkL._SL500_.jpg","\/41+WatMR-ML._SL500_.jpg","\/41Dc325Nu+L._SL500_.jpg"],"u":{"u":"https:\/\/www.amazon.co.jp\/dp\/4839973857","t":"amazon","r_v":""},"v":"2.1","b_l":[{"id":3,"u_tx":"Amazonで見る","u_bc":"#f79256","u_url":"https:\/\/www.amazon.co.jp\/dp\/4839973857","a_id":3719461,"p_id":170,"pl_id":27060,"pc_id":185,"s_n":"amazon","u_so":1},{"id":6,"u_tx":"楽天市場で見る","u_bc":"#f76956","u_url":"https:\/\/search.rakuten.co.jp\/search\/mall\/%E3%82%B7%E3%82%B4%E3%83%88%E3%81%8C%E3%81%AF%E3%81%8B%E3%81%A9%E3%82%8B%20Python%E8%87%AA%E5%8B%95%E5%87%A6%E7%90%86%E3%81%AE%E6%95%99%E7%A7%91%E6%9B%B8\/","a_id":3715568,"p_id":54,"pl_id":27059,"pc_id":54,"s_n":"rakuten","u_so":2}],"eid":"zDixw","s":"s"});</script><div id="msmaflink-zDixw">リンク</div><!-- MoshimoAffiliateEasyLink END -->



<p class="has-text-align-center"><strong>Python 基礎文法の教科書を執筆しました！</strong></p>



<div class="wp-block-cocoon-blocks-blogcard blogcard-type bct-none">
<a rel="noopener" href="https://zenn.dev/python_academia/books/6df147d8b82939" title="【図解】Python 基礎文法の教科書" class="blogcard-wrap external-blogcard-wrap a-wrap cf" target="_blank"><div class="blogcard external-blogcard eb-left cf"><div class="blogcard-label external-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail external-blogcard-thumbnail"><img loading="lazy" decoding="async" src="https://arika-blog.com/wp-content/uploads/cocoon-resources/blog-card-cache/207d1bc4f416570dfed7731b6853821e.jpg" alt="" class="blogcard-thumb-image external-blogcard-thumb-image" width="160" height="90" /></figure><div class="blogcard-content external-blogcard-content"><div class="blogcard-title external-blogcard-title">【図解】Python 基礎文法の教科書</div><div class="blogcard-snippet external-blogcard-snippet">本書は、これからPythonを学ぶ方や初学者の方でも無理なく勉強を進められるように、図解や画像を豊富に使って説明をしています。 内容はPythonチュートリアル（公式のドキュメント）に準拠しているため、理解必須の部分をこの1冊ですべて網羅することができます。 ・プログラミング</div></div><div class="blogcard-footer external-blogcard-footer cf"><div class="blogcard-site external-blogcard-site"><div class="blogcard-favicon external-blogcard-favicon"><img loading="lazy" decoding="async" src="https://www.google.com/s2/favicons?domain=https://zenn.dev/python_academia/books/6df147d8b82939" alt="" class="blogcard-favicon-image external-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain external-blogcard-domain">zenn.dev</div></div></div></div></a>
</div>
]]></content:encoded>
					
					<wfw:commentRss>https://arika-blog.com/python-pdf-compression/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>【Python】PyAutoGUIの基本的な使い方を解説</title>
		<link>https://arika-blog.com/python-pyautogui/</link>
					<comments>https://arika-blog.com/python-pyautogui/#respond</comments>
		
		<dc:creator><![CDATA[Pythonアカデミア]]></dc:creator>
		<pubDate>Sat, 16 Mar 2024 22:02:14 +0000</pubDate>
				<category><![CDATA[Python]]></category>
		<category><![CDATA[業務効率化]]></category>
		<guid isPermaLink="false">https://arika-blog.com/?p=3692</guid>

					<description><![CDATA[PyAutoGUIはマウスとキーボードを制御して、RPAが作れるモジュールです。 RPAとは「Robotic Process Automation」の略語で、パソコンで行っている事務作業を自動化できるソフトウェアロボット [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>PyAutoGUIはマウスとキーボードを制御して、RPAが作れるモジュールです。</p>



<p>RPAとは「Robotic Process Automation」の略語で、パソコンで行っている事務作業を自動化できるソフトウェアロボット技術のことです。</p>



<figure class="wp-block-image size-full is-resized"><img loading="lazy" decoding="async" width="650" height="300" src="https://arika-blog.com/wp-content/uploads/2024/03/21ec8a0b00f69bf75c82655e7e6d24bf.png" alt="" class="wp-image-3695" style="width:418px;height:auto" srcset="https://arika-blog.com/wp-content/uploads/2024/03/21ec8a0b00f69bf75c82655e7e6d24bf.png 650w, https://arika-blog.com/wp-content/uploads/2024/03/21ec8a0b00f69bf75c82655e7e6d24bf-300x138.png 300w" sizes="auto, (max-width: 650px) 100vw, 650px" /></figure>



<p>2023年11月に群馬県沼田市が13業務をRPA化することで、年間800時間もの業務時間を削減していることがネットニュースで取り上げられていました。</p>



<p><a href="https://news.mynavi.jp/techplus/article/20231117-2800270/">有償RPAソフトからオープンソースのPythonに切り替えた沼田市、その狙いと効果とは</a></p>



<h2 class="wp-block-heading">基本的な操作一覧</h2>



<p>以下が基本的な操作になります。<br>更に詳しく知りたい方は<a href="https://pyautogui.readthedocs.io/en/latest/">公式ドキュメント</a>をご確認ください。</p>



<figure class="wp-block-table aligncenter"><table><tbody><tr><td><strong>関数名</strong></td><td><strong>説明</strong></td></tr><tr><td>moveTo(x, y, duration=0)</td><td>マウスを座標 (x, y) に移動する<br>duration 引数を使用して移動にかける時間を指定できる（秒単位）</td></tr><tr><td>dragTo(x, y, duration=0, button=&#8217;left&#8217;)</td><td>マウスボタンを押しながら、座標 (x, y) にドラッグする<br>duration 引数を使用してドラッグにかける時間を指定できる（秒単位）<br>デフォルトのボタンは左ボタン</td></tr><tr><td>click(x=None, y=None, clicks=1, interval=0.0, button=&#8217;left&#8217;, duration=0.0)</td><td>clicks 引数でクリック回数を指定でき、 interval 引数でクリック間隔を秒単位で指定できる<br>button 引数で使用するボタンを指定でき、デフォルトは左ボタン<br>duration 引数でクリックにかける時間を秒単位で指定できる</td></tr><tr><td>doubleClick(x=None, y=None, interval=0.0, button=&#8217;left&#8217;, duration=0.0)</td><td>マウスボタンをダブルクリックする<br>interval 引数でクリック間隔を秒単位で指定できる<br>button 引数で使用するボタンを指定でき、デフォルトは左ボタン<br>duration 引数でクリックにかける時間を秒単位で指定できる</td></tr><tr><td>write(message, interval=0.0)</td><td>キーボード入力をシミュレートする<br>message 引数に入力するテキストを指定する<br>interval 引数で入力する文字の間隔を秒単位で指定できる</td></tr><tr><td>press(keys, presses=1, interval=0.0)</td><td>keys 引数に押すキーを指定する<br>presses 引数でキーを押す回数を指定できる<br>interval 引数でキーを押す間隔を秒単位で指定できる</td></tr><tr><td>hotkey(*keys, interval=0.0)</td><td>キーボードのホットキーを押す<br>keys 引数に押すキーを指定する<br>interval 引数でキーを押す間隔を秒単位で指定できる</td></tr></tbody></table></figure>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-11 sbs-flat sbp-l sbis-sn cf block-box"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://arika-blog.com/wp-content/uploads/2025/11/icon-1-1-1.png" alt="" class="speech-icon-image"/></figure><div class="speech-name"></div></div><div class="speech-balloon">
<p>ショートカットキーをたくさん覚えるため、普段のパソコン業務も早くなります！</p>
</div></div>



<h2 class="wp-block-heading">PyAutoGUIの使用例</h2>



<p>実際にPyAutoGUIを使ってみます。マウスを動かしてテキストファイルを開き、文字を入力します。</p>



<figure class="wp-block-image size-full is-resized"><img loading="lazy" decoding="async" width="640" height="480" src="https://arika-blog.com/wp-content/uploads/2024/03/pyautogui1.png" alt="" class="wp-image-3696" style="width:400px" srcset="https://arika-blog.com/wp-content/uploads/2024/03/pyautogui1.png 640w, https://arika-blog.com/wp-content/uploads/2024/03/pyautogui1-300x225.png 300w" sizes="auto, (max-width: 640px) 100vw, 640px" /></figure>



<figure class="wp-block-image size-full is-resized"><img loading="lazy" decoding="async" width="640" height="480" src="https://arika-blog.com/wp-content/uploads/2024/03/pyautogui2.png" alt="" class="wp-image-3697" style="width:400px" srcset="https://arika-blog.com/wp-content/uploads/2024/03/pyautogui2.png 640w, https://arika-blog.com/wp-content/uploads/2024/03/pyautogui2-300x225.png 300w" sizes="auto, (max-width: 640px) 100vw, 640px" /></figure>



<p>コードはこのようになります。</p>



<script src="https://gist.github.com/arika-python/0dd191f8c900bf9cc752887981fd8896.js"></script>



<div class="wp-block-cocoon-blocks-icon-box common-icon-box block-box alert-box">
<p>コード自体はシンプルですが、ブラウザの動作（ポップアップの場所や画面遷移のタイミング、スクロールの調整など）を考えながらコードを書いていく必要があります。</p>
</div>



<p>インストールがまだの場合は、<strong>pip install PyAutoGUI</strong>を実行してください。</p>



<p>また、座標の取得は以下のようにできます。</p>



<script src="https://gist.github.com/arika-python/74153bf68a013baa2c67d9ac9383d2e6.js"></script>



<h2 class="wp-block-heading">PythonでRPA化するメリット</h2>



<p>RPAと言えば、UiPathやPower Automateなどもありますが、PythonでRPA化すると様々な処理を組み合わせることができます。</p>



<p>・データ整形<br>・スクレイピング（Web上から情報を取得する）<br>・OCR（手書きや印刷された文字の抽出）</p>



<p>など、複数の処理を１つのプログラム内で完結させることができます。</p>



<p>組み合わせる内容に関しては以下の記事をご参考にしてください。</p>



<div class="wp-block-cocoon-blocks-blogcard blogcard-type bct-none">
<a rel="noopener" href="https://qiita.com/python_academia/items/96df81c3fe4094581908" title="【初学者向け】Python社内DX7選 - Qiita" class="blogcard-wrap external-blogcard-wrap a-wrap cf" target="_blank"><div class="blogcard external-blogcard eb-left cf"><div class="blogcard-label external-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail external-blogcard-thumbnail"><img loading="lazy" decoding="async" src="https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-afbab5eb44e0b055cce1258705637a91.png%3Fixlib%3Drb-4.0.0%26w%3D1200%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLXByb2ZpbGUtaW1hZ2VzLmltZ2l4Lm5ldC9odHRwcyUzQSUyRiUyRnFpaXRhLWltYWdlLXN0b3JlLnMzLmFwLW5vcnRoZWFzdC0xLmFtYXpvbmF3cy5jb20lMkYwJTJGMjYzODA3MyUyRnByb2ZpbGUtaW1hZ2VzJTJGMTY4NTM2NDA2Mj9peGxpYj1yYi00LjAuMCZhcj0xJTNBMSZmaXQ9Y3JvcCZtYXNrPWVsbGlwc2UmYmc9RkZGRkZGJmZtPXBuZzMyJnM9MDk1OGU2ZThiMjlkN2JkZDZkODU1NDgwYzA0NTAyMTM%26blend-x%3D120%26blend-y%3D467%26blend-w%3D82%26blend-h%3D82%26blend-mode%3Dnormal%26s%3D77c7d268461ae221e9065f4615603034?ixlib=rb-4.0.0&#038;w=1200&#038;fm=jpg&#038;mark64=aHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTk2MCZoPTMyNCZ0eHQ9JUUzJTgwJTkwJUU1JTg4JTlEJUU1JUFEJUE2JUU4JTgwJTg1JUU1JTkwJTkxJUUzJTgxJTkxJUUzJTgwJTkxUHl0aG9uJUU3JUE0JUJFJUU1JTg2JTg1RFg3JUU5JTgxJUI4JnR4dC1hbGlnbj1sZWZ0JTJDdG9wJnR4dC1jb2xvcj0lMjMxRTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9NTYmdHh0LXBhZD0wJnM9NTYyYzZjMWFhNGU5OGJkZjAwZTc2NmVhNmJiMzdiYzg&#038;mark-x=120&#038;mark-y=112&#038;blend64=aHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTgzOCZoPTU4JnR4dD0lNDBweXRob25fYWNhZGVtaWEmdHh0LWNvbG9yPSUyMzFFMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT0zNiZ0eHQtcGFkPTAmcz0zZmY2YjdhYjZjMWZkYmQ2YmM5OTA2MTM3ZWQxZDZkMQ&#038;blend-x=242&#038;blend-y=480&#038;blend-w=838&#038;blend-h=46&#038;blend-fit=crop&#038;blend-crop=left%2Cbottom&#038;blend-mode=normal&#038;s=2c299b36caba59617fac64beea579c1a" alt="" class="blogcard-thumb-image external-blogcard-thumb-image" width="160" height="90" /></figure><div class="blogcard-content external-blogcard-content"><div class="blogcard-title external-blogcard-title">【初学者向け】Python社内DX7選 - Qiita</div><div class="blogcard-snippet external-blogcard-snippet">Pythonを使うことで身の回りの面倒な業務を効率化することができます。 本記事では、Pythonで社内DX（業務効率化）できることを7つの分野に分けてご紹介したいと思います。 Excel処理 Pythonのライブラリopenpyxlを使うとExcelファイルを操作するこ...</div></div><div class="blogcard-footer external-blogcard-footer cf"><div class="blogcard-site external-blogcard-site"><div class="blogcard-favicon external-blogcard-favicon"><img loading="lazy" decoding="async" src="https://www.google.com/s2/favicons?domain=https://qiita.com/python_academia/items/96df81c3fe4094581908" alt="" class="blogcard-favicon-image external-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain external-blogcard-domain">qiita.com</div></div></div></div></a>
</div>



<h2 class="wp-block-heading">まとめ</h2>



<p>PyAutoGUIの基本的な使い方をまとめました。<span class="marker-under-blue">タスクスケジューラ（Windows）と組み合わせれば、お昼休みなどに業務を終わらせておくことができます。</span>是非ご自身のルーティンワークを自動化してください。</p>



<p><strong>関連記事</strong><br><a href="https://arika-blog.com/python-mail/">【Pythonで業務効率化】win32comを使ってメールを自動化</a><br><a href="https://arika-blog.com/python-threestep/">【入門者向け】効率よくPythonを習得する3Step</a></p>



<p class="has-text-align-center"><strong>Python 基礎文法の教科書を執筆しました！</strong></p>



<div class="wp-block-cocoon-blocks-blogcard blogcard-type bct-none">
<a rel="noopener" href="https://zenn.dev/python_academia/books/6df147d8b82939" title="【図解】Python 基礎文法の教科書" class="blogcard-wrap external-blogcard-wrap a-wrap cf" target="_blank"><div class="blogcard external-blogcard eb-left cf"><div class="blogcard-label external-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail external-blogcard-thumbnail"><img loading="lazy" decoding="async" src="https://arika-blog.com/wp-content/uploads/cocoon-resources/blog-card-cache/207d1bc4f416570dfed7731b6853821e.jpg" alt="" class="blogcard-thumb-image external-blogcard-thumb-image" width="160" height="90" /></figure><div class="blogcard-content external-blogcard-content"><div class="blogcard-title external-blogcard-title">【図解】Python 基礎文法の教科書</div><div class="blogcard-snippet external-blogcard-snippet">本書は、これからPythonを学ぶ方や初学者の方でも無理なく勉強を進められるように、図解や画像を豊富に使って説明をしています。 内容はPythonチュートリアル（公式のドキュメント）に準拠しているため、理解必須の部分をこの1冊ですべて網羅することができます。 ・プログラミング</div></div><div class="blogcard-footer external-blogcard-footer cf"><div class="blogcard-site external-blogcard-site"><div class="blogcard-favicon external-blogcard-favicon"><img loading="lazy" decoding="async" src="https://www.google.com/s2/favicons?domain=https://zenn.dev/python_academia/books/6df147d8b82939" alt="" class="blogcard-favicon-image external-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain external-blogcard-domain">zenn.dev</div></div></div></div></a>
</div>
]]></content:encoded>
					
					<wfw:commentRss>https://arika-blog.com/python-pyautogui/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>【IPアドレスのブロックを回避】Torを使ったスクレイピング方法を解説</title>
		<link>https://arika-blog.com/scraping-tor/</link>
					<comments>https://arika-blog.com/scraping-tor/#respond</comments>
		
		<dc:creator><![CDATA[Pythonアカデミア]]></dc:creator>
		<pubDate>Sat, 05 Nov 2022 23:07:47 +0000</pubDate>
				<category><![CDATA[Python]]></category>
		<category><![CDATA[業務効率化]]></category>
		<guid isPermaLink="false">https://arika-blog.com/?p=2062</guid>

					<description><![CDATA[Webサイトをスクレイピングする際、同じIPアドレスからリクエストし続けるとアクセスをブロックされることがあります。 処理の中にランダムな待機時間を入れて人が操作するかのようにアクセスしても、同じIPアドレスからリクエス [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>Webサイトをスクレイピングする際、同じIPアドレスからリクエストし続けるとアクセスをブロックされることがあります。<br><br>処理の中にランダムな待機時間を入れて人が操作するかのようにアクセスしても、同じIPアドレスからリクエストすることには変わりないため、ブロックを回避する方法としては不十分です。<br><br>そこで今回はTorというサービスを利用します。<br><br><strong>Torを使うことで、ユーザーはプロキシ経由でインターネットにアクセスできます。</strong><br><br>「プロキシ」とはインターネットへの接続を代理で行うことです。</p>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="650" height="300" src="https://arika-blog.com/wp-content/uploads/2022/11/ff705aa0665de5ae27e834823ac44592.png" alt="" class="wp-image-2879" srcset="https://arika-blog.com/wp-content/uploads/2022/11/ff705aa0665de5ae27e834823ac44592.png 650w, https://arika-blog.com/wp-content/uploads/2022/11/ff705aa0665de5ae27e834823ac44592-300x138.png 300w" sizes="auto, (max-width: 650px) 100vw, 650px" /></figure>



<p class="has-text-align-center"><strong>スクレイピングを基礎から学びたい人はこちらの書籍がおすすめ！</strong></p>



<!-- START MoshimoAffiliateEasyLink --><script type="text/javascript">(function(b,c,f,g,a,d,e){b.MoshimoAffiliateObject=a;b[a]=b[a]||function(){arguments.currentScript=c.currentScript||c.scripts[c.scripts.length-2];(b[a].q=b[a].q||[]).push(arguments)};c.getElementById(a)||(d=c.createElement(f),d.src=g,d.id=a,e=c.getElementsByTagName("body")[0],e.appendChild(d))})(window,document,"script","//dn.msmstatic.com/site/cardlink/bundle.js?20220329","msmaflink");msmaflink({"n":"Python2年生 スクレイピングのしくみ 体験してわかる！会話でまなべる！","b":"翔泳社","t":"","d":"https:\/\/m.media-amazon.com","c_p":"\/images\/I","p":["\/51ntbkzFukL._SL500_.jpg","\/51Y7J-BRmCL._SL500_.jpg","\/51-MbK3iZoL._SL500_.jpg","\/51aqbjF-nwL._SL500_.jpg","\/517uvmjKCQL._SL500_.jpg","\/512fDhRszXL._SL500_.jpg"],"u":{"u":"https:\/\/www.amazon.co.jp\/dp\/4798161918","t":"amazon","r_v":""},"v":"2.1","b_l":[{"id":3,"u_tx":"Amazonで見る","u_bc":"#f79256","u_url":"https:\/\/www.amazon.co.jp\/dp\/4798161918","a_id":3719461,"p_id":170,"pl_id":27060,"pc_id":185,"s_n":"amazon","u_so":1},{"id":5,"u_tx":"楽天市場で見る","u_bc":"#f76956","u_url":"https:\/\/search.rakuten.co.jp\/search\/mall\/Python2%E5%B9%B4%E7%94%9F%20%E3%82%B9%E3%82%AF%E3%83%AC%E3%82%A4%E3%83%94%E3%83%B3%E3%82%B0%E3%81%AE%E3%81%97%E3%81%8F%E3%81%BF%20%E4%BD%93%E9%A8%93%E3%81%97%E3%81%A6%E3%82%8F%E3%81%8B%E3%82%8B%EF%BC%81%E4%BC%9A%E8%A9%B1%E3%81%A7%E3%81%BE%E3%81%AA%E3%81%B9%E3%82%8B%EF%BC%81\/","a_id":3715568,"p_id":54,"pl_id":27059,"pc_id":54,"s_n":"rakuten","u_so":2}],"eid":"J1PtT","s":"s"});</script><div id="msmaflink-J1PtT">リンク</div><!-- MoshimoAffiliateEasyLink END -->



<p class="has-text-align-center">PC・タブレットで学習したい方は<strong><span class="marker-under"><span class="marker-under-blue">AmazonのKindle Unlimitedを利用するのもオススメ!!</span></span></strong></p>



<div class="wp-block-cocoon-blocks-micro-text aligncenter micro-text micro-copy micro-top"><span class="micro-text-content micro-content">＼まずは無料で30日間お試し!!(無料期間中に解約可)／</span></div>



<div class="wp-block-cocoon-blocks-button-wrap-1 aligncenter btn-wrap btn-wrap-block button-block btn-wrap-m btn-wrap-circle btn-wrap-shine has-background has-border-color has-green-background-color has-green-border-color has-custom-width cocoon-block-button__width-100"><a rel="nofollow" href="//af.moshimo.com/af/c/click?a_id=3719461&#038;p_id=170&#038;pc_id=185&#038;pl_id=4062&#038;url=https%3A%2F%2Fwww.amazon.co.jp%2Fkindle-dbs%2Fhz%2Fsubscribe%2Fku%3FshoppingPortalEnabled%3Dtrue" referrerpolicy="no-referrer-when-downgrade">今すぐKindle Unlimitedを試す</a><img loading="lazy" decoding="async" src="//i.moshimo.com/af/i/impression?a_id=3719461&#038;p_id=170&#038;pc_id=185&#038;pl_id=4062" width="1" height="1" style="border:none;" alt=""></div>



<h2 class="wp-block-heading">Torのインストール</h2>



<p>以下のページにアクセスします。</p>



<div class="wp-block-cocoon-blocks-blogcard blogcard-type bct-none">
<a rel="noopener" href="https://www.torproject.org/download/tor/" title="The Tor Project | Privacy &amp; Freedom Online" class="blogcard-wrap external-blogcard-wrap a-wrap cf" target="_blank"><div class="blogcard external-blogcard eb-left cf"><div class="blogcard-label external-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail external-blogcard-thumbnail"><img loading="lazy" decoding="async" src="https://arika-blog.com/wp-content/uploads/cocoon-resources/blog-card-cache/2987ae4915d218937b15a0caae7c222e.png" alt="" class="blogcard-thumb-image external-blogcard-thumb-image" width="160" height="90" /></figure><div class="blogcard-content external-blogcard-content"><div class="blogcard-title external-blogcard-title">The Tor Project | Privacy & Freedom Online</div><div class="blogcard-snippet external-blogcard-snippet">Defend yourself against tracking and surveillance. Circumvent censorship.</div></div><div class="blogcard-footer external-blogcard-footer cf"><div class="blogcard-site external-blogcard-site"><div class="blogcard-favicon external-blogcard-favicon"><img loading="lazy" decoding="async" src="https://www.google.com/s2/favicons?domain=https://torproject.org" alt="" class="blogcard-favicon-image external-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain external-blogcard-domain">torproject.org</div></div></div></div></a>
</div>



<p>アクセスするとこのような画面になります。</p>



<figure class="wp-block-image aligncenter size-large"><img loading="lazy" decoding="async" width="1024" height="427" src="https://arika-blog.com/wp-content/uploads/2022/11/Tesseract-2022-11-07T062205.517-1024x427.png" alt="" class="wp-image-2106" srcset="https://arika-blog.com/wp-content/uploads/2022/11/Tesseract-2022-11-07T062205.517-1024x427.png 1024w, https://arika-blog.com/wp-content/uploads/2022/11/Tesseract-2022-11-07T062205.517-300x125.png 300w, https://arika-blog.com/wp-content/uploads/2022/11/Tesseract-2022-11-07T062205.517-768x320.png 768w, https://arika-blog.com/wp-content/uploads/2022/11/Tesseract-2022-11-07T062205.517.png 1200w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p>スクロールすると、ダウンロードボタンがあるので選択します。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="299" src="https://arika-blog.com/wp-content/uploads/2022/11/Tesseract-2022-11-07T062216.162-1-1024x299.png" alt="" class="wp-image-2134" srcset="https://arika-blog.com/wp-content/uploads/2022/11/Tesseract-2022-11-07T062216.162-1-1024x299.png 1024w, https://arika-blog.com/wp-content/uploads/2022/11/Tesseract-2022-11-07T062216.162-1-300x88.png 300w, https://arika-blog.com/wp-content/uploads/2022/11/Tesseract-2022-11-07T062216.162-1-768x224.png 768w, https://arika-blog.com/wp-content/uploads/2022/11/Tesseract-2022-11-07T062216.162-1.png 1200w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p>tor-win32-Version（0.4.7.10）のダウンロードが開始されれば成功です。</p>



<h2 class="wp-block-heading">Torの設定</h2>



<p>ダウンロードしたtor-win32-0.4.7.10.zipを任意の場所で解凍します。</p>



<figure class="wp-block-image aligncenter size-large"><img loading="lazy" decoding="async" width="1024" height="427" src="https://arika-blog.com/wp-content/uploads/2022/11/Tesseract-2022-11-07T222727.190-1024x427.png" alt="" class="wp-image-2125" srcset="https://arika-blog.com/wp-content/uploads/2022/11/Tesseract-2022-11-07T222727.190-1024x427.png 1024w, https://arika-blog.com/wp-content/uploads/2022/11/Tesseract-2022-11-07T222727.190-300x125.png 300w, https://arika-blog.com/wp-content/uploads/2022/11/Tesseract-2022-11-07T222727.190-768x320.png 768w, https://arika-blog.com/wp-content/uploads/2022/11/Tesseract-2022-11-07T222727.190.png 1200w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p>コマンドプロンプトを開きます。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="576" src="https://arika-blog.com/wp-content/uploads/2022/09/89-1024x576.jpg" alt="" class="wp-image-1779" srcset="https://arika-blog.com/wp-content/uploads/2022/09/89-1024x576.jpg 1024w, https://arika-blog.com/wp-content/uploads/2022/09/89-300x169.jpg 300w, https://arika-blog.com/wp-content/uploads/2022/09/89-768x432.jpg 768w, https://arika-blog.com/wp-content/uploads/2022/09/89-1536x864.jpg 1536w, https://arika-blog.com/wp-content/uploads/2022/09/89-120x68.jpg 120w, https://arika-blog.com/wp-content/uploads/2022/09/89-160x90.jpg 160w, https://arika-blog.com/wp-content/uploads/2022/09/89-320x180.jpg 320w, https://arika-blog.com/wp-content/uploads/2022/09/89.jpg 1920w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p>CDと入力して半角スペースを開けた後、解凍したフォルダの中にあるTORというフォルダをコマンドプロンプトまでドラッグし、Enterを押します。</p>



<figure class="wp-block-image aligncenter size-large is-resized"><img loading="lazy" decoding="async" width="1024" height="427" src="https://arika-blog.com/wp-content/uploads/2022/11/Tesseract-2022-11-07T224307.076-1024x427.png" alt="" class="wp-image-2128" style="aspect-ratio:840/350" srcset="https://arika-blog.com/wp-content/uploads/2022/11/Tesseract-2022-11-07T224307.076-1024x427.png 1024w, https://arika-blog.com/wp-content/uploads/2022/11/Tesseract-2022-11-07T224307.076-300x125.png 300w, https://arika-blog.com/wp-content/uploads/2022/11/Tesseract-2022-11-07T224307.076-768x320.png 768w, https://arika-blog.com/wp-content/uploads/2022/11/Tesseract-2022-11-07T224307.076.png 1200w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p>tor.exeと入力し、Enterを押します。</p>



<figure class="wp-block-image aligncenter size-large"><img loading="lazy" decoding="async" width="1024" height="427" src="https://arika-blog.com/wp-content/uploads/2022/11/Tesseract-2022-11-07T222350.252-1024x427.jpg" alt="" class="wp-image-2124" srcset="https://arika-blog.com/wp-content/uploads/2022/11/Tesseract-2022-11-07T222350.252-1024x427.jpg 1024w, https://arika-blog.com/wp-content/uploads/2022/11/Tesseract-2022-11-07T222350.252-300x125.jpg 300w, https://arika-blog.com/wp-content/uploads/2022/11/Tesseract-2022-11-07T222350.252-768x320.jpg 768w, https://arika-blog.com/wp-content/uploads/2022/11/Tesseract-2022-11-07T222350.252.jpg 1200w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p>Establishing a Tor circuitと表示されれば成功です。</p>



<h2 class="wp-block-heading">Torの接続を確認</h2>



<p>IPアドレスを表示して、Torの接続を確認します。</p>



<h3 class="wp-block-heading">Torを使ってない状態</h3>



<p>接続を確認するコードは以下のようになります。</p>



<script src="https://gist.github.com/arika-python/92023078988cc0c1d9428a7a0ec9edc2.js"></script>



<p>自身のIPアドレスや住んでいる国などが表示されます。</p>



<h3 class="wp-block-heading">Torを使っている状態</h3>



<p>接続を確認するコードは以下のようになります。</p>



<script src="https://gist.github.com/arika-python/38dbbcc290d00a22b9739e7bf4652c24.js"></script>



<p>Torを使うと別のIPアドレスが表示されます。</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="782" height="138" src="https://arika-blog.com/wp-content/uploads/2022/11/2e7fbe244a61bc3f5630a949ab9db1d1.png" alt="" class="wp-image-2136" srcset="https://arika-blog.com/wp-content/uploads/2022/11/2e7fbe244a61bc3f5630a949ab9db1d1.png 782w, https://arika-blog.com/wp-content/uploads/2022/11/2e7fbe244a61bc3f5630a949ab9db1d1-300x53.png 300w, https://arika-blog.com/wp-content/uploads/2022/11/2e7fbe244a61bc3f5630a949ab9db1d1-768x136.png 768w" sizes="auto, (max-width: 782px) 100vw, 782px" /></figure>



<div class="wp-block-cocoon-blocks-icon-box common-icon-box block-box alert-box">
<p>429エラーが出力される場合は接続ができていません。<br>アプリ（またはPC）を再起動して、もう一度お試しください。</p>
</div>



<h2 class="wp-block-heading">まとめ</h2>



<p>Torを使うと、IPアドレスを一定時間ごとに切り替えながらスクレイピングをすることができます。</p>



<p>非常に便利なサービスですが、スクレイピングは節度を守りながら行いましょう。</p>



<p>スクレイピングの基礎を学びたい方はこちら</p>



<div class="wp-block-cocoon-blocks-blogcard blogcard-type bct-none">
<a rel="noopener" href="https://axross-recipe.com/recipes/715" title="スクレイピングで取得した情報をSlackで通知" class="blogcard-wrap external-blogcard-wrap a-wrap cf" target="_blank"><div class="blogcard external-blogcard eb-left cf"><div class="blogcard-label external-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail external-blogcard-thumbnail"><img loading="lazy" decoding="async" src="https://api.axross-recipe.com/recipes/715/ogp_img" alt="" class="blogcard-thumb-image external-blogcard-thumb-image" width="160" height="90" /></figure><div class="blogcard-content external-blogcard-content"><div class="blogcard-title external-blogcard-title">スクレイピングで取得した情報をSlackで通知</div><div class="blogcard-snippet external-blogcard-snippet">スクレイピングで取得した情報をExcelに出力し、作成したExcelファイルをSlackで通知できるようにします。※Webサイトからデータを抽出する事を**スクレイピング**と言います。また、Slackとはビジネス用のメッセージングア...</div></div><div class="blogcard-footer external-blogcard-footer cf"><div class="blogcard-site external-blogcard-site"><div class="blogcard-favicon external-blogcard-favicon"><img loading="lazy" decoding="async" src="https://www.google.com/s2/favicons?domain=https://axross-recipe.com/recipes/715" alt="" class="blogcard-favicon-image external-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain external-blogcard-domain">axross-recipe.com</div></div></div></div></a>
</div>



<p class="has-text-align-center"><strong>Python 基礎文法の教科書を執筆しました！</strong></p>



<div class="wp-block-cocoon-blocks-blogcard blogcard-type bct-none">
<a rel="noopener" href="https://zenn.dev/python_academia/books/6df147d8b82939" title="【図解】Python 基礎文法の教科書" class="blogcard-wrap external-blogcard-wrap a-wrap cf" target="_blank"><div class="blogcard external-blogcard eb-left cf"><div class="blogcard-label external-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail external-blogcard-thumbnail"><img loading="lazy" decoding="async" src="https://arika-blog.com/wp-content/uploads/cocoon-resources/blog-card-cache/207d1bc4f416570dfed7731b6853821e.jpg" alt="" class="blogcard-thumb-image external-blogcard-thumb-image" width="160" height="90" /></figure><div class="blogcard-content external-blogcard-content"><div class="blogcard-title external-blogcard-title">【図解】Python 基礎文法の教科書</div><div class="blogcard-snippet external-blogcard-snippet">本書は、これからPythonを学ぶ方や初学者の方でも無理なく勉強を進められるように、図解や画像を豊富に使って説明をしています。 内容はPythonチュートリアル（公式のドキュメント）に準拠しているため、理解必須の部分をこの1冊ですべて網羅することができます。 ・プログラミング</div></div><div class="blogcard-footer external-blogcard-footer cf"><div class="blogcard-site external-blogcard-site"><div class="blogcard-favicon external-blogcard-favicon"><img loading="lazy" decoding="async" src="https://www.google.com/s2/favicons?domain=https://zenn.dev/python_academia/books/6df147d8b82939" alt="" class="blogcard-favicon-image external-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain external-blogcard-domain">zenn.dev</div></div></div></div></a>
</div>
]]></content:encoded>
					
					<wfw:commentRss>https://arika-blog.com/scraping-tor/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>【Pythonで業務効率化】win32comを使ってメールを自動化</title>
		<link>https://arika-blog.com/python-mail/</link>
					<comments>https://arika-blog.com/python-mail/#respond</comments>
		
		<dc:creator><![CDATA[Pythonアカデミア]]></dc:creator>
		<pubDate>Mon, 31 Oct 2022 12:43:37 +0000</pubDate>
				<category><![CDATA[Python]]></category>
		<category><![CDATA[業務効率化]]></category>
		<guid isPermaLink="false">https://arika-blog.com/?p=2030</guid>

					<description><![CDATA[Pythonにはwin32comというライブラリが存在し、COMインターフェース経由でパソコンにインストールされているアプリケーションを操作することができます。 今回はMicrosoft Outlookをwin32com [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>Pythonにはwin32comというライブラリが存在し、COMインターフェース経由でパソコンにインストールされているアプリケーションを操作することができます。</p>



<p>今回はMicrosoft Outlookをwin32comで制御するコードを公開します。</p>



<p class="has-text-align-center"><strong>メールを使った業務効率化をしたい方はこちらの書籍がおすすめ</strong></p>



<!-- START MoshimoAffiliateEasyLink --><script type="text/javascript">(function(b,c,f,g,a,d,e){b.MoshimoAffiliateObject=a;b[a]=b[a]||function(){arguments.currentScript=c.currentScript||c.scripts[c.scripts.length-2];(b[a].q=b[a].q||[]).push(arguments)};c.getElementById(a)||(d=c.createElement(f),d.src=g,d.id=a,e=c.getElementsByTagName("body")[0],e.appendChild(d))})(window,document,"script","//dn.msmstatic.com/site/cardlink/bundle.js?20220329","msmaflink");msmaflink({"n":"今日からできる！ Python業務効率化スキルが身につく本","b":"","t":"","d":"https:\/\/m.media-amazon.com","c_p":"","p":["\/images\/I\/51+fo1I1u4L._SL500_.jpg"],"u":{"u":"https:\/\/www.amazon.co.jp\/dp\/B0BKPD1JH6","t":"amazon","r_v":""},"v":"2.1","b_l":[{"id":3,"u_tx":"Amazonで見る","u_bc":"#f79256","u_url":"https:\/\/www.amazon.co.jp\/dp\/B0BKPD1JH6","a_id":3719461,"p_id":170,"pl_id":27060,"pc_id":185,"s_n":"amazon","u_so":0},{"id":1,"u_tx":"楽天市場で見る","u_bc":"#f76956","u_url":"https:\/\/search.rakuten.co.jp\/search\/mall\/%E4%BB%8A%E6%97%A5%E3%81%8B%E3%82%89%E3%81%A7%E3%81%8D%E3%82%8B%EF%BC%81%20Python%E6%A5%AD%E5%8B%99%E5%8A%B9%E7%8E%87%E5%8C%96%E3%82%B9%E3%82%AD%E3%83%AB%E3%81%8C%E8%BA%AB%E3%81%AB%E3%81%A4%E3%81%8F%E6%9C%AC\/","a_id":3715568,"p_id":54,"pl_id":27059,"pc_id":54,"s_n":"rakuten","u_so":1}],"eid":"2rq5G","s":"l"});</script><div id="msmaflink-2rq5G">リンク</div><!-- MoshimoAffiliateEasyLink END -->



<p class="has-text-align-center">こちらの書籍は<strong><span class="marker-under-blue">AmazonのKindle Unlimitedを利用すると無料で読めます</span></strong></p>



<div class="wp-block-cocoon-blocks-micro-text aligncenter micro-text micro-copy micro-top"><span class="micro-text-content micro-content">＼まずは無料で30日間お試し!!(無料期間中に解約可)／</span></div>



<div class="wp-block-cocoon-blocks-button-wrap-1 aligncenter btn-wrap btn-wrap-block button-block btn-wrap-m btn-wrap-circle btn-wrap-shine has-background has-border-color has-green-background-color has-green-border-color has-custom-width cocoon-block-button__width-100"><a rel="nofollow" href="//af.moshimo.com/af/c/click?a_id=3719461&#038;p_id=170&#038;pc_id=185&#038;pl_id=4062&#038;url=https%3A%2F%2Fwww.amazon.co.jp%2Fkindle-dbs%2Fhz%2Fsubscribe%2Fku%3FshoppingPortalEnabled%3Dtrue" referrerpolicy="no-referrer-when-downgrade">今すぐKindle Unlimitedを試す</a><img loading="lazy" decoding="async" src="//i.moshimo.com/af/i/impression?a_id=3719461&#038;p_id=170&#038;pc_id=185&#038;pl_id=4062" width="1" height="1" style="border:none;" alt=""></div>



<h2 class="wp-block-heading">Outlookを自動化する</h2>



<p>Outlookを自動化するコードは以下になります。</p>



<script src="https://gist.github.com/arika-python/8998cf4628dec20c65353454c2653f3c.js"></script>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-11 sbs-flat sbp-l sbis-sn cf block-box"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://arika-blog.com/wp-content/uploads/2025/11/icon-1-1-1.png" alt="" class="speech-icon-image"/></figure><div class="speech-name"></div></div><div class="speech-balloon">
<p>コピペでは動かないので、必要に応じて書き換えてください</p>
</div></div>



<p>mail=outlook.CreateItem(0)としていますが、（）の数字を変更することで別の画面を開くことができます。</p>



<div class="wp-block-cocoon-blocks-sticky-box blank-box block-box sticky st-blue">
<p>0：メール<br>1：予定<br>2：連絡先<br>3：タスク</p>
</div>



<h3 class="wp-block-heading">com_errorが発生した場合</h3>



<p>com_errorが発生した場合は以下の記事を参考にしてください。</p>



<p><a href="https://arika-blog.com/win32com-com-error/">win32com com_error: (-2147221005, ‘クラス文字列が無効です’, None, None)の対処法</a></p>



<h2 class="wp-block-heading">まとめ</h2>



<p>公開したコードを応用すれば、メール作業を自動化できます。</p>



<p>作業時間の短縮はもちろん、宛先間違いや添付の付け忘れ等のミスも減らせますので、是非活用して業務を効率化してください。</p>



<p class="has-text-align-center"><strong>Python 基礎文法の教科書を執筆しました！</strong></p>



<div class="wp-block-cocoon-blocks-blogcard blogcard-type bct-none">
<a rel="noopener" href="https://zenn.dev/python_academia/books/6df147d8b82939" title="【図解】Python 基礎文法の教科書" class="blogcard-wrap external-blogcard-wrap a-wrap cf" target="_blank"><div class="blogcard external-blogcard eb-left cf"><div class="blogcard-label external-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail external-blogcard-thumbnail"><img loading="lazy" decoding="async" src="https://arika-blog.com/wp-content/uploads/cocoon-resources/blog-card-cache/207d1bc4f416570dfed7731b6853821e.jpg" alt="" class="blogcard-thumb-image external-blogcard-thumb-image" width="160" height="90" /></figure><div class="blogcard-content external-blogcard-content"><div class="blogcard-title external-blogcard-title">【図解】Python 基礎文法の教科書</div><div class="blogcard-snippet external-blogcard-snippet">本書は、これからPythonを学ぶ方や初学者の方でも無理なく勉強を進められるように、図解や画像を豊富に使って説明をしています。 内容はPythonチュートリアル（公式のドキュメント）に準拠しているため、理解必須の部分をこの1冊ですべて網羅することができます。 ・プログラミング</div></div><div class="blogcard-footer external-blogcard-footer cf"><div class="blogcard-site external-blogcard-site"><div class="blogcard-favicon external-blogcard-favicon"><img loading="lazy" decoding="async" src="https://www.google.com/s2/favicons?domain=https://zenn.dev/python_academia/books/6df147d8b82939" alt="" class="blogcard-favicon-image external-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain external-blogcard-domain">zenn.dev</div></div></div></div></a>
</div>
]]></content:encoded>
					
					<wfw:commentRss>https://arika-blog.com/python-mail/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Pythonで取得した情報をLINEに通知する</title>
		<link>https://arika-blog.com/python-line/</link>
					<comments>https://arika-blog.com/python-line/#respond</comments>
		
		<dc:creator><![CDATA[Pythonアカデミア]]></dc:creator>
		<pubDate>Tue, 10 May 2022 22:48:52 +0000</pubDate>
				<category><![CDATA[Python]]></category>
		<category><![CDATA[業務効率化]]></category>
		<guid isPermaLink="false">https://arika-blog.com/?p=1240</guid>

					<description><![CDATA[何かの情報を見るときにLINEに通知されたら便利だと思いませんか？ LINEにはLINE&#160;Notifyという外部のWebサービスやアプリを連携し、カスタマイズした情報を受け取ることができる機能があります。 この [&#8230;]]]></description>
										<content:encoded><![CDATA[
<div class="wp-block-cocoon-blocks-icon-box common-icon-box block-box alert-box">
<p>本記事で使用しているLINE Notifyは2025年3月31日でサービスを終了します。<br>詳しくは以下の記事をご確認下さい。</p>
</div>



<div class="wp-block-cocoon-blocks-blogcard blogcard-type bct-none">
<a rel="noopener" href="https://notify-bot.line.me/closing-announce" title="LINE Notify" class="blogcard-wrap external-blogcard-wrap a-wrap cf" target="_blank"><div class="blogcard external-blogcard eb-left cf"><div class="blogcard-label external-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail external-blogcard-thumbnail"><img loading="lazy" decoding="async" src="https://s.wordpress.com/mshots/v1/https%3A%2F%2Fnotify-bot.line.me%2Fclosing-announce?w=160&#038;h=90" alt="" class="blogcard-thumb-image external-blogcard-thumb-image" width="160" height="90" /></figure><div class="blogcard-content external-blogcard-content"><div class="blogcard-title external-blogcard-title">LINE Notify</div><div class="blogcard-snippet external-blogcard-snippet"></div></div><div class="blogcard-footer external-blogcard-footer cf"><div class="blogcard-site external-blogcard-site"><div class="blogcard-favicon external-blogcard-favicon"><img loading="lazy" decoding="async" src="https://www.google.com/s2/favicons?domain=https://notify-bot.line.me/closing-announce" alt="" class="blogcard-favicon-image external-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain external-blogcard-domain">notify-bot.line.me</div></div></div></div></a>
</div>



<p id="feac2df1-090e-43f1-a75c-5580f2360af9">何かの情報を見るときにLINEに通知されたら便利だと思いませんか？</p>



<p id="3b1bd8d1-8d86-4393-ad18-45ae9ae17ab9">LINEにはLINE&nbsp;Notifyという外部のWebサービスやアプリを連携し、カスタマイズした情報を受け取ることができる機能があります。<br><br>この記事ではそれを利用して<strong>実際に通知ができるところまでやりたいと思います。</strong></p>



<h2 class="wp-block-heading" id="2b35e54d-879d-4b0c-9108-120f3b4e44be">LINEに通知してみる</h2>



<p id="C692C943-5D8E-4091-9F99-1E8DA2743FBA"><a rel="noopener" href="https://notify-bot.line.me/ja/" target="_blank">LINE&nbsp;Notify</a>のホームページにアクセスします。</p>



<figure class="wp-block-image aligncenter size-full is-resized" id="E15B2A41-6C3A-4CEC-B6FC-D48A935ADE65"><img loading="lazy" decoding="async" width="800" height="404" src="https://arika-blog.com/wp-content/uploads/2022/08/image.png" alt="" class="wp-image-1629" srcset="https://arika-blog.com/wp-content/uploads/2022/08/image.png 800w, https://arika-blog.com/wp-content/uploads/2022/08/image-300x152.png 300w, https://arika-blog.com/wp-content/uploads/2022/08/image-768x388.png 768w" sizes="auto, (max-width: 800px) 100vw, 800px" /></figure>



<p id="91EDC54C-A55A-4D72-8C0A-EC4248A1A690">ページの下の方にサービスを登録するというボタンがあるのでクリックします。</p>



<figure class="wp-block-image aligncenter size-large is-resized" id="DAEF7395-BD90-4BAA-BEFA-149F6375665B"><img loading="lazy" decoding="async" width="1145" height="644" src="https://arika-blog.com/wp-content/uploads/2022/08/17cfc066bb31fe39f861d6919073c271-edited.png" alt="" class="wp-image-1632" srcset="https://arika-blog.com/wp-content/uploads/2022/08/17cfc066bb31fe39f861d6919073c271-edited.png 1145w, https://arika-blog.com/wp-content/uploads/2022/08/17cfc066bb31fe39f861d6919073c271-edited-300x169.png 300w, https://arika-blog.com/wp-content/uploads/2022/08/17cfc066bb31fe39f861d6919073c271-edited-1024x576.png 1024w, https://arika-blog.com/wp-content/uploads/2022/08/17cfc066bb31fe39f861d6919073c271-edited-768x432.png 768w, https://arika-blog.com/wp-content/uploads/2022/08/17cfc066bb31fe39f861d6919073c271-edited-120x68.png 120w, https://arika-blog.com/wp-content/uploads/2022/08/17cfc066bb31fe39f861d6919073c271-edited-160x90.png 160w, https://arika-blog.com/wp-content/uploads/2022/08/17cfc066bb31fe39f861d6919073c271-edited-320x180.png 320w" sizes="auto, (max-width: 1145px) 100vw, 1145px" /></figure>



<p id="26E6C81C-A26E-40B7-8F22-6CCFE586FFC7">LINEに登録しているメールアドレスとパスワードを入力してください。</p>



<figure class="wp-block-image aligncenter size-full is-resized" id="A110F000-F4AB-4C8D-B381-47BF48CFD93F"><img loading="lazy" decoding="async" width="800" height="523" src="https://arika-blog.com/wp-content/uploads/2022/08/image-1.png" alt="" class="wp-image-1633" srcset="https://arika-blog.com/wp-content/uploads/2022/08/image-1.png 800w, https://arika-blog.com/wp-content/uploads/2022/08/image-1-300x196.png 300w, https://arika-blog.com/wp-content/uploads/2022/08/image-1-768x502.png 768w" sizes="auto, (max-width: 800px) 100vw, 800px" /></figure>



<p id="91DEF835-59D9-413C-8E18-A32AAE200A6D">ログインに成功すると右上に自分の名前（LINEに登録している名前）が表示されていると思います。クリックしてマイページを選択します。</p>



<figure class="wp-block-image aligncenter size-large is-resized" id="7ED796BD-32CC-4110-9C66-041652CA4007"><img loading="lazy" decoding="async" width="1368" height="769" src="https://arika-blog.com/wp-content/uploads/2022/08/330486f154e9580d90c1689a63c7fc7c-edited.png" alt="" class="wp-image-1635" srcset="https://arika-blog.com/wp-content/uploads/2022/08/330486f154e9580d90c1689a63c7fc7c-edited.png 1368w, https://arika-blog.com/wp-content/uploads/2022/08/330486f154e9580d90c1689a63c7fc7c-edited-300x169.png 300w, https://arika-blog.com/wp-content/uploads/2022/08/330486f154e9580d90c1689a63c7fc7c-edited-1024x576.png 1024w, https://arika-blog.com/wp-content/uploads/2022/08/330486f154e9580d90c1689a63c7fc7c-edited-768x432.png 768w, https://arika-blog.com/wp-content/uploads/2022/08/330486f154e9580d90c1689a63c7fc7c-edited-120x68.png 120w, https://arika-blog.com/wp-content/uploads/2022/08/330486f154e9580d90c1689a63c7fc7c-edited-160x90.png 160w, https://arika-blog.com/wp-content/uploads/2022/08/330486f154e9580d90c1689a63c7fc7c-edited-320x180.png 320w" sizes="auto, (max-width: 1368px) 100vw, 1368px" /></figure>



<p id="D402688A-C39F-4742-98CA-1C029D3540BD">アクセストークンの発行が有るのでクリックします。</p>



<figure class="wp-block-image aligncenter size-large is-resized" id="AF94C724-C321-43DD-A5DA-5502724F6F56"><img loading="lazy" decoding="async" width="1126" height="633" src="https://arika-blog.com/wp-content/uploads/2022/08/7a4e57e04d7fa7c439c71911c169aa77-edited-1.png" alt="" class="wp-image-1638" srcset="https://arika-blog.com/wp-content/uploads/2022/08/7a4e57e04d7fa7c439c71911c169aa77-edited-1.png 1126w, https://arika-blog.com/wp-content/uploads/2022/08/7a4e57e04d7fa7c439c71911c169aa77-edited-1-300x169.png 300w, https://arika-blog.com/wp-content/uploads/2022/08/7a4e57e04d7fa7c439c71911c169aa77-edited-1-1024x576.png 1024w, https://arika-blog.com/wp-content/uploads/2022/08/7a4e57e04d7fa7c439c71911c169aa77-edited-1-768x432.png 768w, https://arika-blog.com/wp-content/uploads/2022/08/7a4e57e04d7fa7c439c71911c169aa77-edited-1-120x68.png 120w, https://arika-blog.com/wp-content/uploads/2022/08/7a4e57e04d7fa7c439c71911c169aa77-edited-1-160x90.png 160w, https://arika-blog.com/wp-content/uploads/2022/08/7a4e57e04d7fa7c439c71911c169aa77-edited-1-320x180.png 320w" sizes="auto, (max-width: 1126px) 100vw, 1126px" /></figure>



<p id="BFDCC0E8-39C7-4B80-A44C-829FEAF23680">トークンの名前と1:1でLINE&nbsp;Notifyから通知を受け取るを選択して、トークン発行ボタンをおします。</p>



<figure class="wp-block-image aligncenter size-large is-resized" id="D63CDA9B-5990-4DFC-82E4-04D628F530A9"><img loading="lazy" decoding="async" width="1736" height="977" src="https://arika-blog.com/wp-content/uploads/2022/08/395d0aa591d297ca5d3774c9b35bb3ee-edited.png" alt="" class="wp-image-1640" srcset="https://arika-blog.com/wp-content/uploads/2022/08/395d0aa591d297ca5d3774c9b35bb3ee-edited.png 1736w, https://arika-blog.com/wp-content/uploads/2022/08/395d0aa591d297ca5d3774c9b35bb3ee-edited-300x169.png 300w, https://arika-blog.com/wp-content/uploads/2022/08/395d0aa591d297ca5d3774c9b35bb3ee-edited-1024x576.png 1024w, https://arika-blog.com/wp-content/uploads/2022/08/395d0aa591d297ca5d3774c9b35bb3ee-edited-768x432.png 768w, https://arika-blog.com/wp-content/uploads/2022/08/395d0aa591d297ca5d3774c9b35bb3ee-edited-1536x864.png 1536w, https://arika-blog.com/wp-content/uploads/2022/08/395d0aa591d297ca5d3774c9b35bb3ee-edited-120x68.png 120w, https://arika-blog.com/wp-content/uploads/2022/08/395d0aa591d297ca5d3774c9b35bb3ee-edited-160x90.png 160w, https://arika-blog.com/wp-content/uploads/2022/08/395d0aa591d297ca5d3774c9b35bb3ee-edited-320x180.png 320w" sizes="auto, (max-width: 1736px) 100vw, 1736px" /></figure>



<p id="c975cb1a-87a3-4578-9de3-386443858593">トークンが発行されるのでコピーしてどこかに控えておきます。</p>



<figure class="wp-block-image aligncenter size-large is-resized" id="50A261A5-CBEC-4FAF-B601-92EEECFA578C"><img loading="lazy" decoding="async" width="895" height="503" src="https://arika-blog.com/wp-content/uploads/2022/08/d7f966c7d1f9a461711c83cf43bf00de-edited.png" alt="" class="wp-image-1642" srcset="https://arika-blog.com/wp-content/uploads/2022/08/d7f966c7d1f9a461711c83cf43bf00de-edited.png 895w, https://arika-blog.com/wp-content/uploads/2022/08/d7f966c7d1f9a461711c83cf43bf00de-edited-300x169.png 300w, https://arika-blog.com/wp-content/uploads/2022/08/d7f966c7d1f9a461711c83cf43bf00de-edited-768x432.png 768w, https://arika-blog.com/wp-content/uploads/2022/08/d7f966c7d1f9a461711c83cf43bf00de-edited-120x68.png 120w, https://arika-blog.com/wp-content/uploads/2022/08/d7f966c7d1f9a461711c83cf43bf00de-edited-160x90.png 160w, https://arika-blog.com/wp-content/uploads/2022/08/d7f966c7d1f9a461711c83cf43bf00de-edited-320x180.png 320w" sizes="auto, (max-width: 895px) 100vw, 895px" /></figure>



<p id="c6739c7a-93cb-4b85-b243-4d4b94f4f181"><strong><span class="bold-red">通知を行うようにする（APIにアクセスする）には、エンドポイント（URL）も必要になります。</span></strong></p>



<p id="5042D279-A790-4565-B304-1B626090C9B8">先ほどの画面のLINE&nbsp;Notify&nbsp;API&nbsp;Documentをクリックします。</p>



<figure class="wp-block-image aligncenter size-large is-resized" id="FFC1D9C9-3A0A-468F-9D13-5C42B337095B"><img loading="lazy" decoding="async" width="1176" height="662" src="https://arika-blog.com/wp-content/uploads/2022/08/57ea3fb40dc03c607cd775a7cd60fc6e-edited.png" alt="" class="wp-image-1644" srcset="https://arika-blog.com/wp-content/uploads/2022/08/57ea3fb40dc03c607cd775a7cd60fc6e-edited.png 1176w, https://arika-blog.com/wp-content/uploads/2022/08/57ea3fb40dc03c607cd775a7cd60fc6e-edited-300x169.png 300w, https://arika-blog.com/wp-content/uploads/2022/08/57ea3fb40dc03c607cd775a7cd60fc6e-edited-1024x576.png 1024w, https://arika-blog.com/wp-content/uploads/2022/08/57ea3fb40dc03c607cd775a7cd60fc6e-edited-768x432.png 768w, https://arika-blog.com/wp-content/uploads/2022/08/57ea3fb40dc03c607cd775a7cd60fc6e-edited-120x68.png 120w, https://arika-blog.com/wp-content/uploads/2022/08/57ea3fb40dc03c607cd775a7cd60fc6e-edited-160x90.png 160w, https://arika-blog.com/wp-content/uploads/2022/08/57ea3fb40dc03c607cd775a7cd60fc6e-edited-320x180.png 320w" sizes="auto, (max-width: 1176px) 100vw, 1176px" /></figure>



<p id="0D97DB38-35F7-4D76-8B80-C6BD26541330">通知系のURLが記載されているので、こちらもコピーして控えます。</p>



<div class="hcb_wrap"><pre class="prism undefined-numbers lang-plain"><code>https://notify-api.line.me/api/notify</code></pre></div>



<figure class="wp-block-image aligncenter size-large is-resized" id="4DDE7C70-E1C6-408A-BB68-B27FB2FDDF67"><img loading="lazy" decoding="async" width="1361" height="765" src="https://arika-blog.com/wp-content/uploads/2022/08/d7ff4cf11958d957523e85b3b9ea24cf-edited.png" alt="" class="wp-image-1646" srcset="https://arika-blog.com/wp-content/uploads/2022/08/d7ff4cf11958d957523e85b3b9ea24cf-edited.png 1361w, https://arika-blog.com/wp-content/uploads/2022/08/d7ff4cf11958d957523e85b3b9ea24cf-edited-300x169.png 300w, https://arika-blog.com/wp-content/uploads/2022/08/d7ff4cf11958d957523e85b3b9ea24cf-edited-1024x576.png 1024w, https://arika-blog.com/wp-content/uploads/2022/08/d7ff4cf11958d957523e85b3b9ea24cf-edited-768x432.png 768w, https://arika-blog.com/wp-content/uploads/2022/08/d7ff4cf11958d957523e85b3b9ea24cf-edited-120x68.png 120w, https://arika-blog.com/wp-content/uploads/2022/08/d7ff4cf11958d957523e85b3b9ea24cf-edited-160x90.png 160w, https://arika-blog.com/wp-content/uploads/2022/08/d7ff4cf11958d957523e85b3b9ea24cf-edited-320x180.png 320w" sizes="auto, (max-width: 1361px) 100vw, 1361px" /></figure>



<p id="e04cd654-7672-4766-8be9-9797f207d310">準備ができたらコードを書いていきます。</p>



<script src="https://gist.github.com/arika-python/52650dbccec1a11ac52c172d6ab19a6a.js"></script>



<p id="e04cd654-7672-4766-8be9-9797f207d310"><br>トークン以外のところはコピペで大丈夫ですが、先ほどのLINE&nbsp;Notify&nbsp;API&nbsp;Documentにリクエスト方法が載っています。</p>



<figure class="wp-block-image aligncenter size-full is-resized" id="5D3D150A-444B-4499-8904-25952C48B2A7"><img loading="lazy" decoding="async" width="800" height="439" src="https://arika-blog.com/wp-content/uploads/2022/08/image-2.png" alt="" class="wp-image-1647" srcset="https://arika-blog.com/wp-content/uploads/2022/08/image-2.png 800w, https://arika-blog.com/wp-content/uploads/2022/08/image-2-300x165.png 300w, https://arika-blog.com/wp-content/uploads/2022/08/image-2-768x421.png 768w" sizes="auto, (max-width: 800px) 100vw, 800px" /></figure>



<p id="A81E1C8B-7DBC-496F-9210-7B36D1C91B6C">通知することができました。</p>



<figure class="wp-block-image aligncenter size-full is-resized" id="94F231F2-D075-423C-B761-E04290E0802E"><img loading="lazy" decoding="async" width="757" height="181" src="https://arika-blog.com/wp-content/uploads/2022/08/image-edited-2.jpeg" alt="" class="wp-image-1627" srcset="https://arika-blog.com/wp-content/uploads/2022/08/image-edited-2.jpeg 757w, https://arika-blog.com/wp-content/uploads/2022/08/image-edited-2-300x72.jpeg 300w" sizes="auto, (max-width: 757px) 100vw, 757px" /></figure>



<h2 class="wp-block-heading" id="3a986108-f963-4a4f-a4e6-98671613b5c9">まとめ</h2>



<p id="125634ac-d4e1-4779-80bf-a827cc5111cf">例えばPythonでスクレイピングした情報をLINEに通知することができれば、効率化を図ることができそうですね。</p>



<p>是非、ご自身にあった内容で実装してみてください。</p>



<p><strong>関連記事</strong><br><a href="https://arika-blog.com/python-discord/">Pythonで取得した情報をDiscordに通知する</a></p>



<p class="has-text-align-center"><strong>Python 基礎文法の教科書を執筆しました！</strong></p>



<div class="wp-block-cocoon-blocks-blogcard blogcard-type bct-none">
<a rel="noopener" href="https://zenn.dev/python_academia/books/6df147d8b82939" title="【図解】Python 基礎文法の教科書" class="blogcard-wrap external-blogcard-wrap a-wrap cf" target="_blank"><div class="blogcard external-blogcard eb-left cf"><div class="blogcard-label external-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail external-blogcard-thumbnail"><img loading="lazy" decoding="async" src="https://arika-blog.com/wp-content/uploads/cocoon-resources/blog-card-cache/207d1bc4f416570dfed7731b6853821e.jpg" alt="" class="blogcard-thumb-image external-blogcard-thumb-image" width="160" height="90" /></figure><div class="blogcard-content external-blogcard-content"><div class="blogcard-title external-blogcard-title">【図解】Python 基礎文法の教科書</div><div class="blogcard-snippet external-blogcard-snippet">本書は、これからPythonを学ぶ方や初学者の方でも無理なく勉強を進められるように、図解や画像を豊富に使って説明をしています。 内容はPythonチュートリアル（公式のドキュメント）に準拠しているため、理解必須の部分をこの1冊ですべて網羅することができます。 ・プログラミング</div></div><div class="blogcard-footer external-blogcard-footer cf"><div class="blogcard-site external-blogcard-site"><div class="blogcard-favicon external-blogcard-favicon"><img loading="lazy" decoding="async" src="https://www.google.com/s2/favicons?domain=https://zenn.dev/python_academia/books/6df147d8b82939" alt="" class="blogcard-favicon-image external-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain external-blogcard-domain">zenn.dev</div></div></div></div></a>
</div>
]]></content:encoded>
					
					<wfw:commentRss>https://arika-blog.com/python-line/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Pythonで取得した情報をDiscordに通知する</title>
		<link>https://arika-blog.com/python-discord/</link>
					<comments>https://arika-blog.com/python-discord/#respond</comments>
		
		<dc:creator><![CDATA[Pythonアカデミア]]></dc:creator>
		<pubDate>Mon, 11 Apr 2022 22:51:35 +0000</pubDate>
				<category><![CDATA[Python]]></category>
		<category><![CDATA[業務効率化]]></category>
		<guid isPermaLink="false">https://arika-blog.com/?p=801</guid>

					<description><![CDATA[今回はPythonで取得した情報をDiscordに通知することにします。 アカウントを持っていない方はホームページにアクセスしてアカウントを取得してください。 discordwebhookの準備 まずはじめにdiscor [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>今回はPythonで取得した情報をDiscordに通知することにします。</p>



<p>アカウントを持っていない方は<a href="https://discord.com/">ホームページ</a>にアクセスしてアカウントを取得してください。</p>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-11 sbs-flat sbp-l sbis-sn cf block-box"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://arika-blog.com/wp-content/uploads/2025/11/icon-1-1-1.png" alt="" class="speech-icon-image"/></figure><div class="speech-name"></div></div><div class="speech-balloon">
<p>取得した情報をDiscord，LINE，Slackなどに通知できると便利ですよね！</p>
</div></div>



<h2 class="wp-block-heading">discordwebhookの準備</h2>



<p>まずはじめにdiscordwebhookの準備をしておきます。</p>



<p><span class="arikamarker-under">webhookとは、イベントが発生した時に通知をする仕組みのことをいいます。</span></p>



<p>Windowsの検索画面でcmd と入力します。<br>入力できたら、そのままEnterを押すか、コマンドプロンプトを選択します。</p>



<figure class="wp-block-image aligncenter size-large is-resized"><img loading="lazy" decoding="async" width="1024" height="576" src="https://arika-blog.com/wp-content/uploads/2022/09/89-1024x576.jpg" alt="" class="wp-image-1779" style="width:515px;height:289px" srcset="https://arika-blog.com/wp-content/uploads/2022/09/89-1024x576.jpg 1024w, https://arika-blog.com/wp-content/uploads/2022/09/89-300x169.jpg 300w, https://arika-blog.com/wp-content/uploads/2022/09/89-768x432.jpg 768w, https://arika-blog.com/wp-content/uploads/2022/09/89-1536x864.jpg 1536w, https://arika-blog.com/wp-content/uploads/2022/09/89-120x68.jpg 120w, https://arika-blog.com/wp-content/uploads/2022/09/89-160x90.jpg 160w, https://arika-blog.com/wp-content/uploads/2022/09/89-320x180.jpg 320w, https://arika-blog.com/wp-content/uploads/2022/09/89.jpg 1920w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p>表示された画面に<strong>pip install discordwebhook</strong>と入力します。</p>



<figure class="wp-block-image aligncenter size-large is-resized"><img loading="lazy" decoding="async" width="1024" height="576" src="https://arika-blog.com/wp-content/uploads/2022/09/90-1024x576.png" alt="" class="wp-image-1780" style="width:458px;height:257px" srcset="https://arika-blog.com/wp-content/uploads/2022/09/90-1024x576.png 1024w, https://arika-blog.com/wp-content/uploads/2022/09/90-300x169.png 300w, https://arika-blog.com/wp-content/uploads/2022/09/90-768x432.png 768w, https://arika-blog.com/wp-content/uploads/2022/09/90-1536x864.png 1536w, https://arika-blog.com/wp-content/uploads/2022/09/90-120x68.png 120w, https://arika-blog.com/wp-content/uploads/2022/09/90-160x90.png 160w, https://arika-blog.com/wp-content/uploads/2022/09/90-320x180.png 320w, https://arika-blog.com/wp-content/uploads/2022/09/90.png 1920w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p>Successfuly と表示されれば完了です。</p>



<figure class="wp-block-image aligncenter size-large is-resized"><img loading="lazy" decoding="async" width="1024" height="576" src="https://arika-blog.com/wp-content/uploads/2022/09/0eb8555a9dc99ee4c5640331afdc79f3-1024x576.png" alt="" class="wp-image-1777" style="width:597px;height:335px" srcset="https://arika-blog.com/wp-content/uploads/2022/09/0eb8555a9dc99ee4c5640331afdc79f3-1024x576.png 1024w, https://arika-blog.com/wp-content/uploads/2022/09/0eb8555a9dc99ee4c5640331afdc79f3-300x169.png 300w, https://arika-blog.com/wp-content/uploads/2022/09/0eb8555a9dc99ee4c5640331afdc79f3-768x432.png 768w, https://arika-blog.com/wp-content/uploads/2022/09/0eb8555a9dc99ee4c5640331afdc79f3-1536x864.png 1536w, https://arika-blog.com/wp-content/uploads/2022/09/0eb8555a9dc99ee4c5640331afdc79f3-120x68.png 120w, https://arika-blog.com/wp-content/uploads/2022/09/0eb8555a9dc99ee4c5640331afdc79f3-160x90.png 160w, https://arika-blog.com/wp-content/uploads/2022/09/0eb8555a9dc99ee4c5640331afdc79f3-320x180.png 320w, https://arika-blog.com/wp-content/uploads/2022/09/0eb8555a9dc99ee4c5640331afdc79f3.png 1920w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<h2 class="wp-block-heading">Discordにサーバー追加</h2>



<p>Discordを開いて左上の+マークを選択します。</p>



<figure class="wp-block-image aligncenter size-large is-resized"><img loading="lazy" decoding="async" width="1024" height="576" src="https://arika-blog.com/wp-content/uploads/2022/09/ec8957fe62b9b49bf8a1d882e3ccef2f-1024x576.png" alt="" class="wp-image-1772" style="width:503px;height:282px" srcset="https://arika-blog.com/wp-content/uploads/2022/09/ec8957fe62b9b49bf8a1d882e3ccef2f-1024x576.png 1024w, https://arika-blog.com/wp-content/uploads/2022/09/ec8957fe62b9b49bf8a1d882e3ccef2f-300x169.png 300w, https://arika-blog.com/wp-content/uploads/2022/09/ec8957fe62b9b49bf8a1d882e3ccef2f-768x432.png 768w, https://arika-blog.com/wp-content/uploads/2022/09/ec8957fe62b9b49bf8a1d882e3ccef2f-1536x864.png 1536w, https://arika-blog.com/wp-content/uploads/2022/09/ec8957fe62b9b49bf8a1d882e3ccef2f-120x68.png 120w, https://arika-blog.com/wp-content/uploads/2022/09/ec8957fe62b9b49bf8a1d882e3ccef2f-160x90.png 160w, https://arika-blog.com/wp-content/uploads/2022/09/ec8957fe62b9b49bf8a1d882e3ccef2f-320x180.png 320w, https://arika-blog.com/wp-content/uploads/2022/09/ec8957fe62b9b49bf8a1d882e3ccef2f.png 1920w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p>オリジナルの作成を選択します。</p>



<figure class="wp-block-image aligncenter size-large is-resized"><img loading="lazy" decoding="async" width="1024" height="576" src="https://arika-blog.com/wp-content/uploads/2022/09/83-1024x576.png" alt="" class="wp-image-1782" style="width:577px;height:324px" srcset="https://arika-blog.com/wp-content/uploads/2022/09/83-1024x576.png 1024w, https://arika-blog.com/wp-content/uploads/2022/09/83-300x169.png 300w, https://arika-blog.com/wp-content/uploads/2022/09/83-768x432.png 768w, https://arika-blog.com/wp-content/uploads/2022/09/83-1536x864.png 1536w, https://arika-blog.com/wp-content/uploads/2022/09/83-120x68.png 120w, https://arika-blog.com/wp-content/uploads/2022/09/83-160x90.png 160w, https://arika-blog.com/wp-content/uploads/2022/09/83-320x180.png 320w, https://arika-blog.com/wp-content/uploads/2022/09/83.png 1920w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p>自分と友達のためを選択します。</p>



<figure class="wp-block-image aligncenter size-large is-resized"><img loading="lazy" decoding="async" width="1024" height="576" src="https://arika-blog.com/wp-content/uploads/2022/09/84-1024x576.jpg" alt="" class="wp-image-1783" style="width:437px;height:245px" srcset="https://arika-blog.com/wp-content/uploads/2022/09/84-1024x576.jpg 1024w, https://arika-blog.com/wp-content/uploads/2022/09/84-300x169.jpg 300w, https://arika-blog.com/wp-content/uploads/2022/09/84-768x432.jpg 768w, https://arika-blog.com/wp-content/uploads/2022/09/84-1536x864.jpg 1536w, https://arika-blog.com/wp-content/uploads/2022/09/84-120x68.jpg 120w, https://arika-blog.com/wp-content/uploads/2022/09/84-160x90.jpg 160w, https://arika-blog.com/wp-content/uploads/2022/09/84-320x180.jpg 320w, https://arika-blog.com/wp-content/uploads/2022/09/84.jpg 1920w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p>新規作成を選択して完了です。<br>必要に応じて名前やアイコンを変更してください。</p>



<figure class="wp-block-image aligncenter size-large is-resized"><img loading="lazy" decoding="async" width="1024" height="576" src="https://arika-blog.com/wp-content/uploads/2022/09/85-1024x576.png" alt="" class="wp-image-1784" style="width:484px;height:271px" srcset="https://arika-blog.com/wp-content/uploads/2022/09/85-1024x576.png 1024w, https://arika-blog.com/wp-content/uploads/2022/09/85-300x169.png 300w, https://arika-blog.com/wp-content/uploads/2022/09/85-768x432.png 768w, https://arika-blog.com/wp-content/uploads/2022/09/85-1536x864.png 1536w, https://arika-blog.com/wp-content/uploads/2022/09/85-120x68.png 120w, https://arika-blog.com/wp-content/uploads/2022/09/85-160x90.png 160w, https://arika-blog.com/wp-content/uploads/2022/09/85-320x180.png 320w, https://arika-blog.com/wp-content/uploads/2022/09/85.png 1920w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<h2 class="wp-block-heading">webhook URL の発行</h2>



<p>最初の画面に戻って、テキストチャンネルのチャンネルの編集を選択します。</p>



<figure class="wp-block-image size-large is-resized"><img loading="lazy" decoding="async" width="1024" height="576" src="https://arika-blog.com/wp-content/uploads/2022/09/86-1024x576.png" alt="" class="wp-image-1785" style="width:431px;height:242px" srcset="https://arika-blog.com/wp-content/uploads/2022/09/86-1024x576.png 1024w, https://arika-blog.com/wp-content/uploads/2022/09/86-300x169.png 300w, https://arika-blog.com/wp-content/uploads/2022/09/86-768x432.png 768w, https://arika-blog.com/wp-content/uploads/2022/09/86-1536x864.png 1536w, https://arika-blog.com/wp-content/uploads/2022/09/86-120x68.png 120w, https://arika-blog.com/wp-content/uploads/2022/09/86-160x90.png 160w, https://arika-blog.com/wp-content/uploads/2022/09/86-320x180.png 320w, https://arika-blog.com/wp-content/uploads/2022/09/86.png 1920w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p>連携サービスを選択して、ウェブフックを作成します。</p>



<figure class="wp-block-image aligncenter size-large is-resized"><img loading="lazy" decoding="async" width="1024" height="576" src="https://arika-blog.com/wp-content/uploads/2022/09/87-1024x576.png" alt="" class="wp-image-1786" style="width:617px;height:346px" srcset="https://arika-blog.com/wp-content/uploads/2022/09/87-1024x576.png 1024w, https://arika-blog.com/wp-content/uploads/2022/09/87-300x169.png 300w, https://arika-blog.com/wp-content/uploads/2022/09/87-768x432.png 768w, https://arika-blog.com/wp-content/uploads/2022/09/87-1536x864.png 1536w, https://arika-blog.com/wp-content/uploads/2022/09/87-120x68.png 120w, https://arika-blog.com/wp-content/uploads/2022/09/87-160x90.png 160w, https://arika-blog.com/wp-content/uploads/2022/09/87-320x180.png 320w, https://arika-blog.com/wp-content/uploads/2022/09/87.png 1920w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p>URLをコピーして完了です。</p>



<figure class="wp-block-image aligncenter size-large is-resized"><img loading="lazy" decoding="async" width="1024" height="576" src="https://arika-blog.com/wp-content/uploads/2022/09/88-1024x576.png" alt="" class="wp-image-1787" style="width:598px;height:336px" srcset="https://arika-blog.com/wp-content/uploads/2022/09/88-1024x576.png 1024w, https://arika-blog.com/wp-content/uploads/2022/09/88-300x169.png 300w, https://arika-blog.com/wp-content/uploads/2022/09/88-768x432.png 768w, https://arika-blog.com/wp-content/uploads/2022/09/88-1536x864.png 1536w, https://arika-blog.com/wp-content/uploads/2022/09/88-120x68.png 120w, https://arika-blog.com/wp-content/uploads/2022/09/88-160x90.png 160w, https://arika-blog.com/wp-content/uploads/2022/09/88-320x180.png 320w, https://arika-blog.com/wp-content/uploads/2022/09/88.png 1920w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<h2 class="wp-block-heading">Discordに通知する</h2>



<p>ここからPythonを使ってコーディングしていきます。</p>



<p>と言っても、コードはたったのこれだけです。</p>



<script src="https://gist.github.com/arika-python/c9a032ecd31d1238f273d946d298d59f.js"></script>



<p>表示される画面はこちら</p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="516" height="175" src="https://arika-blog.com/wp-content/uploads/2022/09/362a0af03903c5aa8b7405d29d4f6d5c-edited.png" alt="" class="wp-image-1791" style="width:468px" srcset="https://arika-blog.com/wp-content/uploads/2022/09/362a0af03903c5aa8b7405d29d4f6d5c-edited.png 516w, https://arika-blog.com/wp-content/uploads/2022/09/362a0af03903c5aa8b7405d29d4f6d5c-edited-300x102.png 300w" sizes="auto, (max-width: 516px) 100vw, 516px" /></figure>



<p>Hello,world と通知することができました！</p>



<h2 class="wp-block-heading">まとめ</h2>



<p>今回はPythonを使ってDiscordに通知をしてみました。</p>



<p>スクレイピングなどをして、その結果を通知できると便利ですね。<br>コードも短いので是非お試しください。</p>



<p><strong>関連記事</strong><br><a href="https://arika-blog.com/python-line/">Pythonで取得した情報をLINEに通知する</a></p>



<p class="has-text-align-center"><strong>Python 基礎文法の教科書を執筆しました！</strong></p>



<div class="wp-block-cocoon-blocks-blogcard blogcard-type bct-none">
<a rel="noopener" href="https://zenn.dev/python_academia/books/6df147d8b82939" title="【図解】Python 基礎文法の教科書" class="blogcard-wrap external-blogcard-wrap a-wrap cf" target="_blank"><div class="blogcard external-blogcard eb-left cf"><div class="blogcard-label external-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail external-blogcard-thumbnail"><img loading="lazy" decoding="async" src="https://arika-blog.com/wp-content/uploads/cocoon-resources/blog-card-cache/207d1bc4f416570dfed7731b6853821e.jpg" alt="" class="blogcard-thumb-image external-blogcard-thumb-image" width="160" height="90" /></figure><div class="blogcard-content external-blogcard-content"><div class="blogcard-title external-blogcard-title">【図解】Python 基礎文法の教科書</div><div class="blogcard-snippet external-blogcard-snippet">本書は、これからPythonを学ぶ方や初学者の方でも無理なく勉強を進められるように、図解や画像を豊富に使って説明をしています。 内容はPythonチュートリアル（公式のドキュメント）に準拠しているため、理解必須の部分をこの1冊ですべて網羅することができます。 ・プログラミング</div></div><div class="blogcard-footer external-blogcard-footer cf"><div class="blogcard-site external-blogcard-site"><div class="blogcard-favicon external-blogcard-favicon"><img loading="lazy" decoding="async" src="https://www.google.com/s2/favicons?domain=https://zenn.dev/python_academia/books/6df147d8b82939" alt="" class="blogcard-favicon-image external-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain external-blogcard-domain">zenn.dev</div></div></div></div></a>
</div>
]]></content:encoded>
					
					<wfw:commentRss>https://arika-blog.com/python-discord/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>【永久保存版】PySimpleGUIの基本操作すべてお伝えします</title>
		<link>https://arika-blog.com/pysimplegui/</link>
					<comments>https://arika-blog.com/pysimplegui/#respond</comments>
		
		<dc:creator><![CDATA[Pythonアカデミア]]></dc:creator>
		<pubDate>Sat, 09 Apr 2022 22:39:42 +0000</pubDate>
				<category><![CDATA[Python]]></category>
		<category><![CDATA[業務効率化]]></category>
		<guid isPermaLink="false">https://arika-blog.com/?p=732</guid>

					<description><![CDATA[PySimpleGUIはその名の通り、GUIを容易に作成するために開発されたパッケージです。TkinterやWxPythonなどのラッパーであるため、コードの書き方がシンプルで初心者の方にはおすすめのGUIパッケージとな [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>PySimpleGUIはその名の通り、<strong>GUIを容易に作成するために開発されたパッケージです。</strong>TkinterやWxPythonなどのラッパーであるため、コードの書き方がシンプルで初心者の方にはおすすめのGUIパッケージとなっています。本記事では、そんなPySimpleGUIの使い方を解説します。</p>



<h2 class="wp-block-heading">GUI画面の表示</h2>



<p>PySimpleGUIを使って、簡単なGUIを表示させます。</p>



<h3 class="wp-block-heading">GUIとは</h3>



<p>GUIとは、グラフィカルユーザインターフェース(Graphical User Interface)の略で<span class="arikamarker-under">画面上にボタンやアイコンを表示し、直感的に操作できるようにしたものです。</span></p>



<p>反対にCUIというものもあり、こちらはキャラクターユーザーインターフェイス（Character User Interface）の略で<span class="arikamarker-under">命令をすべて文字によって行います。</span></p>



<p>図で違いを表すとこうなります。</p>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="650" height="300" src="https://arika-blog.com/wp-content/uploads/2022/10/406fbd6e1621b484594882c55c210b5e.png" alt="" class="wp-image-2012" srcset="https://arika-blog.com/wp-content/uploads/2022/10/406fbd6e1621b484594882c55c210b5e.png 650w, https://arika-blog.com/wp-content/uploads/2022/10/406fbd6e1621b484594882c55c210b5e-300x138.png 300w" sizes="auto, (max-width: 650px) 100vw, 650px" /></figure>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-11 sbs-flat sbp-l sbis-sn cf block-box"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://arika-blog.com/wp-content/uploads/2025/11/icon-1-1-1.png" alt="" class="speech-icon-image"/></figure><div class="speech-name"></div></div><div class="speech-balloon">
<p>プログラミングに親しみがない人はGUIの方が安心しますね！</p>
</div></div>



<h3 class="wp-block-heading">完成図</h3>



<p>こちらの画面を表示できるように実施していきます。</p>



<figure class="wp-block-image aligncenter size-large is-resized"><img loading="lazy" decoding="async" width="638" height="266" src="https://arika-blog.com/wp-content/uploads/2022/10/Tesseract-94-edited-1.png" alt="" class="wp-image-2002" srcset="https://arika-blog.com/wp-content/uploads/2022/10/Tesseract-94-edited-1.png 638w, https://arika-blog.com/wp-content/uploads/2022/10/Tesseract-94-edited-1-300x125.png 300w" sizes="auto, (max-width: 638px) 100vw, 638px" /></figure>



<h3 class="wp-block-heading">コードはこちら</h3>



<p>コードは以下のようになります。</p>



<script src="https://gist.github.com/arika-python/dea159a907266797e3f564117c4eead2.js"></script>



<p>順を追って確認したい方は動画をご利用ください。</p>



<figure class="wp-block-embed aligncenter is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe loading="lazy" title="【PySimpleGUI 入門】GUI画面の表示" width="1256" height="707" src="https://www.youtube.com/embed/kzVZBLR9m1I?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>



<h3 class="wp-block-heading">PySimpleGUIのテーマに関して</h3>



<p>コードの９行目でsg.theme(&#8220;DarkBlue&#8221;)としていますが、テーマの種類は<strong>sg.preview_all_look_and_feel_themes()</strong>で確認することができます。</p>



<p>実際に以下のような画面が表示されます。</p>



<figure class="wp-block-image aligncenter size-large is-resized"><img loading="lazy" decoding="async" width="1024" height="427" src="https://arika-blog.com/wp-content/uploads/2022/10/Tesseract-92-1024x427.jpg" alt="" class="wp-image-2003" srcset="https://arika-blog.com/wp-content/uploads/2022/10/Tesseract-92-1024x427.jpg 1024w, https://arika-blog.com/wp-content/uploads/2022/10/Tesseract-92-300x125.jpg 300w, https://arika-blog.com/wp-content/uploads/2022/10/Tesseract-92-768x320.jpg 768w, https://arika-blog.com/wp-content/uploads/2022/10/Tesseract-92.jpg 1200w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p>テーマが多く用意されているため、デザイン性のあるGUIを作成することができます。</p>



<h2 class="wp-block-heading">テキストボックスの値を取得</h2>



<p>PySimpleGUIを使ってテキストボックスを配置し、入力されたテキストを取得します。</p>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-11 sbs-flat sbp-l sbis-sn cf block-box"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://arika-blog.com/wp-content/uploads/2025/11/icon-1-1-1.png" alt="" class="speech-icon-image"/></figure><div class="speech-name"></div></div><div class="speech-balloon">
<p>入力された値を取得すると次の処理以降でその値が使えるため、できることの幅が広がるよ！</p>
</div></div>



<h3 class="wp-block-heading">完成図</h3>



<p>完成図はこのようになります。</p>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="493" height="158" src="https://arika-blog.com/wp-content/uploads/2022/11/28a26b6e22770f9601373c77a6ddd9ca.png" alt="" class="wp-image-2097" srcset="https://arika-blog.com/wp-content/uploads/2022/11/28a26b6e22770f9601373c77a6ddd9ca.png 493w, https://arika-blog.com/wp-content/uploads/2022/11/28a26b6e22770f9601373c77a6ddd9ca-300x96.png 300w" sizes="auto, (max-width: 493px) 100vw, 493px" /></figure>



<p><br>OKボタンを押すと、入力されている山田というテキストを取得します。</p>



<h3 class="wp-block-heading">コードはこちら</h3>



<p>コードは以下のようになります。</p>



<p><script src="https://gist.github.com/arika-python/9a381029279f59e45750ac82231fe8d5.js"></script><br>順を追って確認したい方は動画をご利用ください。</p>



<figure class="wp-block-embed aligncenter is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe loading="lazy" title="【PySimpleGUI 入門】テキストボックスの値を取得" width="1256" height="707" src="https://www.youtube.com/embed/dbINRdS_fE0?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>



<p>テキストボックスは使用する回数が多いと思うので、しっかりと理解しておきましょう。</p>



<h2 class="wp-block-heading">Browseボタンでファイル名の取得</h2>



<p>PySimpleGUIを使ってファイルの参照ボタンを作成します。</p>



<p>ファイルを呼び出せるようになると、リストの上から順に自動でメールを送ったり、取得した値を加工してレポートを作成したりすることができます。</p>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-11 sbs-flat sbp-l sbis-sn cf block-box"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://arika-blog.com/wp-content/uploads/2025/11/icon-1-1-1.png" alt="" class="speech-icon-image"/></figure><div class="speech-name"></div></div><div class="speech-balloon">
<p>実務で活用して業務効率化をしよう！</p>
</div></div>



<h3 class="wp-block-heading">完成図</h3>



<p>完成図はこのようになります。</p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="605" height="132" src="https://arika-blog.com/wp-content/uploads/2022/11/ea0cfd649fdd1f98a8e340a8235fb53d.png" alt="" class="wp-image-2150" srcset="https://arika-blog.com/wp-content/uploads/2022/11/ea0cfd649fdd1f98a8e340a8235fb53d.png 605w, https://arika-blog.com/wp-content/uploads/2022/11/ea0cfd649fdd1f98a8e340a8235fb53d-300x65.png 300w" sizes="auto, (max-width: 605px) 100vw, 605px" /></figure>



<p><br>Browseボタンを押すと、エクスプローラーが立ち上がりファイルを選択することができます。</p>



<figure class="wp-block-image size-large is-resized"><img loading="lazy" decoding="async" width="1024" height="427" src="https://arika-blog.com/wp-content/uploads/2022/11/Tesseract-2022-11-09T210046.298-1024x427.png" alt="" class="wp-image-2147" srcset="https://arika-blog.com/wp-content/uploads/2022/11/Tesseract-2022-11-09T210046.298-1024x427.png 1024w, https://arika-blog.com/wp-content/uploads/2022/11/Tesseract-2022-11-09T210046.298-300x125.png 300w, https://arika-blog.com/wp-content/uploads/2022/11/Tesseract-2022-11-09T210046.298-768x320.png 768w, https://arika-blog.com/wp-content/uploads/2022/11/Tesseract-2022-11-09T210046.298.png 1200w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="636" height="264" src="https://arika-blog.com/wp-content/uploads/2022/11/Tesseract-2022-11-09T210255.826-edited.png" alt="" class="wp-image-2149" style="width:569px;height:auto" srcset="https://arika-blog.com/wp-content/uploads/2022/11/Tesseract-2022-11-09T210255.826-edited.png 636w, https://arika-blog.com/wp-content/uploads/2022/11/Tesseract-2022-11-09T210255.826-edited-300x125.png 300w" sizes="auto, (max-width: 636px) 100vw, 636px" /></figure>



<h3 class="wp-block-heading">コードはこちら</h3>



<p>コードは以下のようになります。<br><script src="https://gist.github.com/arika-python/c1dee439ce2c85d69eeda2a8d5d0f9bb.js"></script><br>順を追って確認したい方は動画をご利用ください。</p>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe loading="lazy" title="【PySimpleGUI 入門】Browseボタンでファイル名を取得" width="1256" height="707" src="https://www.youtube.com/embed/lhLl0YUm89M?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>



<p>実際に活用してみました。<br><a href="https://arika-blog.com/python-pdf-compression/">【Python】Ghostscriptを使ってPDFファイルを簡単に圧縮する方法</a></p>



<h3 class="wp-block-heading">パスに関して</h3>



<p>今回取得したファイル名は<strong>絶対パス</strong>で取得しています。<br><br><span class="arikamarker-under">パスとはディレクトリ（フォルダ）構造内の場所を表すために使用する文字列のことで、絶対パスと相対パスの2種類があります。</span><br><br>以下でそれぞれの特徴を説明します。</p>



<h4 class="wp-block-heading">絶対パス</h4>



<p>絶対パスとは、別名<strong>フルパス</strong>とも言われており、最上位に位置するディレクトリ（<strong>ルートディレクトリ</strong>）から、対象のファイルまでの道順(階層構造)を記述する方法になります。</p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="640" height="480" src="https://arika-blog.com/wp-content/uploads/2023/11/8c28b269c8f6d12b351405eb73c177fe.png" alt="" class="wp-image-2838" style="aspect-ratio:1.3333333333333333;width:517px" srcset="https://arika-blog.com/wp-content/uploads/2023/11/8c28b269c8f6d12b351405eb73c177fe.png 640w, https://arika-blog.com/wp-content/uploads/2023/11/8c28b269c8f6d12b351405eb73c177fe-300x225.png 300w" sizes="auto, (max-width: 640px) 100vw, 640px" /></figure>



<h4 class="wp-block-heading">相対パス</h4>



<p>相対パスとは現在作業しているディレクトリ（<strong>カレントディレクトリ</strong>）を基準にして、対象ファイルまでの道順(階層構造)を記述する方法になります。</p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="640" height="480" src="https://arika-blog.com/wp-content/uploads/2023/11/458bb5e56439362452d886e5b317ae07.png" alt="" class="wp-image-2837" style="aspect-ratio:1.3333333333333333;width:517px;height:auto" srcset="https://arika-blog.com/wp-content/uploads/2023/11/458bb5e56439362452d886e5b317ae07.png 640w, https://arika-blog.com/wp-content/uploads/2023/11/458bb5e56439362452d886e5b317ae07-300x225.png 300w" sizes="auto, (max-width: 640px) 100vw, 640px" /></figure>



<h2 class="wp-block-heading">プログレスバーで進捗を確認する</h2>



<p>PySimpleGUIを使ってプログレスバーを作成します。</p>



<p>プログレスバーとはコンピュータの処理がどの程度完了したのかを視覚的に表示するもので、進捗が一目で分かります。</p>



<p><strong><span class="arikamarker-under">繰り返し処理の中に記述することで、実装することが可能です。</span></strong></p>



<h3 class="wp-block-heading">完成図</h3>



<p>完成図はこのようになります。</p>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="392" height="117" src="https://arika-blog.com/wp-content/uploads/2022/11/bf40b0e5062a5fc23a7e97964afd5d07.png" alt="" class="wp-image-2174" srcset="https://arika-blog.com/wp-content/uploads/2022/11/bf40b0e5062a5fc23a7e97964afd5d07.png 392w, https://arika-blog.com/wp-content/uploads/2022/11/bf40b0e5062a5fc23a7e97964afd5d07-300x90.png 300w" sizes="auto, (max-width: 392px) 100vw, 392px" /></figure>



<h3 class="wp-block-heading">コードはこちら</h3>



<p>コードは以下のようになります。<br><script src="https://gist.github.com/arika-python/66e334675d77964b1ac964bf7368de18.js"></script><br>詳しい解説を見たい方は動画をご利用ください。</p>



<figure class="wp-block-embed aligncenter is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe loading="lazy" title="【PySimpleGUI 入門】プログレスバーで進捗を確認する" width="1256" height="707" src="https://www.youtube.com/embed/dy939QL74BA?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>



<p>ちなみに繰り返し処理を使わない場合のコードはこちら</p>



<script src="https://gist.github.com/arika-python/ea167c7a19760be96c8a8cd8927f7fa3.js"></script>



<p>プログレスバーを表示できると、作成するアプリケーションがより使いやすくなると思うので、是非活用してください。</p>



<h2 class="wp-block-heading">出力結果をGUI上で確認する</h2>



<p>PySimpleGUIを使って出力結果を確認できるウィジェットを配置していきます。</p>



<h3 class="wp-block-heading">完成図</h3>



<p>完成図はこのようになります。</p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="238" height="545" src="https://arika-blog.com/wp-content/uploads/2022/11/51324ccc5d5af2a2b09bf74e226a59f6.png" alt="" class="wp-image-2273" srcset="https://arika-blog.com/wp-content/uploads/2022/11/51324ccc5d5af2a2b09bf74e226a59f6.png 238w, https://arika-blog.com/wp-content/uploads/2022/11/51324ccc5d5af2a2b09bf74e226a59f6-131x300.png 131w" sizes="auto, (max-width: 238px) 100vw, 238px" /></figure>



<h3 class="wp-block-heading">コードはこちら</h3>



<p>コードは以下のようになります。</p>



<p><script src="https://gist.github.com/arika-python/368eab0f3435358d34dd6c60fc75cd31.js"></script><br>動画で解説もしています。</p>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe loading="lazy" title="【PySimpleGUI 入門】出力結果をGUI上で確認する" width="1256" height="707" src="https://www.youtube.com/embed/SKx7Kr2guuE?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>



<h2 class="wp-block-heading">ポップアップまとめ</h2>



<p>PySimpleGUIで表示できるポップアップをご紹介します。</p>



<h3 class="wp-block-heading">完成図</h3>



<p>完成図は以下のようになります。</p>



<figure class="wp-block-image aligncenter size-large"><img loading="lazy" decoding="async" width="1024" height="427" src="https://arika-blog.com/wp-content/uploads/2023/01/Tesseract-2023-01-21T213541.953-1024x427.png" alt="" class="wp-image-2568" srcset="https://arika-blog.com/wp-content/uploads/2023/01/Tesseract-2023-01-21T213541.953-1024x427.png 1024w, https://arika-blog.com/wp-content/uploads/2023/01/Tesseract-2023-01-21T213541.953-300x125.png 300w, https://arika-blog.com/wp-content/uploads/2023/01/Tesseract-2023-01-21T213541.953-768x320.png 768w, https://arika-blog.com/wp-content/uploads/2023/01/Tesseract-2023-01-21T213541.953.png 1200w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<h3 class="wp-block-heading">コードはこちら</h3>



<p>コードは以下のようになります。</p>



<script src="https://gist.github.com/arika-python/2d9f29f6c66d1bf82f11dc6f8e198a40.js"></script>



<p>動画で解説もしています。</p>



<figure class="wp-block-embed aligncenter is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe loading="lazy" title="【PySimpleGUI 入門】POPUPまとめ" width="1256" height="707" src="https://www.youtube.com/embed/e6JUgMYWu7Y?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>



<p>今回ご紹介しているPOPUPは一部になります。<br>詳しく知りたい方は公式ページをご確認ください。</p>



<div class="wp-block-cocoon-blocks-blogcard blogcard-type bct-none">
<a rel="noopener" href="https://www.pysimplegui.org/en/latest/" title="The Project - PySimpleGUI Documentation" class="blogcard-wrap external-blogcard-wrap a-wrap cf" target="_blank"><div class="blogcard external-blogcard eb-left cf"><div class="blogcard-label external-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail external-blogcard-thumbnail"><img loading="lazy" decoding="async" src="https://s.wordpress.com/mshots/v1/https%3A%2F%2Fwww.pysimplegui.org%2Fen%2Flatest%2F?w=160&#038;h=90" alt="" class="blogcard-thumb-image external-blogcard-thumb-image" width="160" height="90" /></figure><div class="blogcard-content external-blogcard-content"><div class="blogcard-title external-blogcard-title">The Project - PySimpleGUI Documentation</div><div class="blogcard-snippet external-blogcard-snippet"></div></div><div class="blogcard-footer external-blogcard-footer cf"><div class="blogcard-site external-blogcard-site"><div class="blogcard-favicon external-blogcard-favicon"><img loading="lazy" decoding="async" src="https://www.google.com/s2/favicons?domain=https://www.pysimplegui.org/en/latest/" alt="" class="blogcard-favicon-image external-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain external-blogcard-domain">www.pysimplegui.org</div></div></div></div></a>
</div>



<h2 class="wp-block-heading">作成例</h2>



<p>実際に、PySimpleGUIを使ってスクレイピング結果をExcelに書き込むGUIを作成しました。</p>



<figure class="wp-block-embed aligncenter is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe loading="lazy" title="【ChatGPT ×Python】たったの5分でExcelを操作するアプリ作ってみた" width="1256" height="707" src="https://www.youtube.com/embed/bQGtFjgrolk?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>



<h2 class="wp-block-heading">バージョン5が登場！個人利用でもライセンス登録が必要に</h2>



<p>PySimpleGUI がバージョン5から個人利用でもライセンス登録（無償）が必要になりました。また、商用利用の場合は$99/yearが必要となってきます。</p>



<h3 class="wp-block-heading">バージョン5を使う方法</h3>



<p>まず、ライセンス登録をしていない状態でPySimpleGUIを使おうとすると、以下のようなポップアップが出現します。</p>



<figure class="wp-block-image size-full is-resized"><img loading="lazy" decoding="async" width="720" height="598" src="https://arika-blog.com/wp-content/uploads/2024/03/d1839793b84e8dded630cf939e0c04aa.png" alt="" class="wp-image-3721" style="width:600px" srcset="https://arika-blog.com/wp-content/uploads/2024/03/d1839793b84e8dded630cf939e0c04aa.png 720w, https://arika-blog.com/wp-content/uploads/2024/03/d1839793b84e8dded630cf939e0c04aa-300x249.png 300w" sizes="auto, (max-width: 720px) 100vw, 720px" /></figure>



<p>I accept the terms in the License Agreementにチェックを入れてOKを押します。</p>



<p>すると、Final Stepとしてライセンスキーの入力を求められます。</p>



<figure class="wp-block-image size-full is-resized"><img loading="lazy" decoding="async" width="925" height="468" src="https://arika-blog.com/wp-content/uploads/2024/03/3625880640c7076d089fc14ed41a7c32.png" alt="" class="wp-image-3722" style="width:650px" srcset="https://arika-blog.com/wp-content/uploads/2024/03/3625880640c7076d089fc14ed41a7c32.png 925w, https://arika-blog.com/wp-content/uploads/2024/03/3625880640c7076d089fc14ed41a7c32-300x152.png 300w, https://arika-blog.com/wp-content/uploads/2024/03/3625880640c7076d089fc14ed41a7c32-768x389.png 768w" sizes="auto, (max-width: 925px) 100vw, 925px" /></figure>



<p><a href="https://www.pysimplegui.com/pricing">PySimpleGUI</a>にアクセスしてライセンスキーを取得します。</p>



<p>今回はHobbyistを選択します。</p>



<figure class="wp-block-image size-large is-resized"><img loading="lazy" decoding="async" width="1024" height="662" src="https://arika-blog.com/wp-content/uploads/2024/03/0ee824b7da2b362c77a78295a770d14c-1024x662.png" alt="" class="wp-image-3715" style="width:650px" srcset="https://arika-blog.com/wp-content/uploads/2024/03/0ee824b7da2b362c77a78295a770d14c-1024x662.png 1024w, https://arika-blog.com/wp-content/uploads/2024/03/0ee824b7da2b362c77a78295a770d14c-300x194.png 300w, https://arika-blog.com/wp-content/uploads/2024/03/0ee824b7da2b362c77a78295a770d14c-768x497.png 768w, https://arika-blog.com/wp-content/uploads/2024/03/0ee824b7da2b362c77a78295a770d14c.png 1376w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p>必要事項を入力します。</p>



<figure class="wp-block-image size-large is-resized"><img loading="lazy" decoding="async" width="1024" height="777" src="https://arika-blog.com/wp-content/uploads/2024/03/9f5934bb656c98ad262ecd77e67eb81b-1024x777.png" alt="" class="wp-image-3719" style="width:650px" srcset="https://arika-blog.com/wp-content/uploads/2024/03/9f5934bb656c98ad262ecd77e67eb81b-1024x777.png 1024w, https://arika-blog.com/wp-content/uploads/2024/03/9f5934bb656c98ad262ecd77e67eb81b-300x228.png 300w, https://arika-blog.com/wp-content/uploads/2024/03/9f5934bb656c98ad262ecd77e67eb81b-768x583.png 768w, https://arika-blog.com/wp-content/uploads/2024/03/9f5934bb656c98ad262ecd77e67eb81b.png 1191w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p>登録したアドレスに認証コードが届くので入力します。</p>



<figure class="wp-block-image size-large is-resized"><img loading="lazy" decoding="async" width="1024" height="606" src="https://arika-blog.com/wp-content/uploads/2024/03/1b8bbf356c361f8fafaf49e2cc04d9be-1024x606.png" alt="" class="wp-image-3723" style="width:650px" srcset="https://arika-blog.com/wp-content/uploads/2024/03/1b8bbf356c361f8fafaf49e2cc04d9be-1024x606.png 1024w, https://arika-blog.com/wp-content/uploads/2024/03/1b8bbf356c361f8fafaf49e2cc04d9be-300x177.png 300w, https://arika-blog.com/wp-content/uploads/2024/03/1b8bbf356c361f8fafaf49e2cc04d9be-768x454.png 768w, https://arika-blog.com/wp-content/uploads/2024/03/1b8bbf356c361f8fafaf49e2cc04d9be.png 1173w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p>ライセンスキーが発行されるのでコピーします。</p>



<figure class="wp-block-image size-large is-resized"><img loading="lazy" decoding="async" width="1024" height="538" src="https://arika-blog.com/wp-content/uploads/2024/03/e6962374085896d111f0e27aad407d57-1024x538.png" alt="" class="wp-image-3724" style="width:650px" srcset="https://arika-blog.com/wp-content/uploads/2024/03/e6962374085896d111f0e27aad407d57-1024x538.png 1024w, https://arika-blog.com/wp-content/uploads/2024/03/e6962374085896d111f0e27aad407d57-300x158.png 300w, https://arika-blog.com/wp-content/uploads/2024/03/e6962374085896d111f0e27aad407d57-768x403.png 768w, https://arika-blog.com/wp-content/uploads/2024/03/e6962374085896d111f0e27aad407d57.png 1200w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p>冒頭でお見せした画面でコピーしたライセンスキーを使用すると承認が完了します。<br>有効期限は１年でした。</p>



<figure class="wp-block-image size-large is-resized"><img loading="lazy" decoding="async" width="1024" height="538" src="https://arika-blog.com/wp-content/uploads/2024/03/2020e7379e116b1a202d77c9ec026623-1024x538.png" alt="" class="wp-image-3720" style="width:650px" srcset="https://arika-blog.com/wp-content/uploads/2024/03/2020e7379e116b1a202d77c9ec026623-1024x538.png 1024w, https://arika-blog.com/wp-content/uploads/2024/03/2020e7379e116b1a202d77c9ec026623-300x158.png 300w, https://arika-blog.com/wp-content/uploads/2024/03/2020e7379e116b1a202d77c9ec026623-768x403.png 768w, https://arika-blog.com/wp-content/uploads/2024/03/2020e7379e116b1a202d77c9ec026623.png 1200w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<h3 class="wp-block-heading">バージョンを下げて使う方法</h3>



<p><span class="marker-under-blue">5より前のバージョンでは通常通り使うことができています。 </span></p>



<p>バージョンを指定してインストールしたい場合は、</p>



<div class="wp-block-cocoon-blocks-sticky-box blank-box block-box sticky st-blue">
<p>pip install ライブラリ名==バージョン</p>
</div>



<p>とします。</p>



<p>ちなみにインストールできるバージョンは、</p>



<div class="wp-block-cocoon-blocks-sticky-box blank-box block-box sticky st-blue">
<p>pip install ライブラリ名==</p>
</div>



<p>で確認することができます。</p>



<p>ただし、PySimpleGUIのバージョン4は第二四半期（７月か９月まで）で廃止されます。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>PySimpleGUI 4 will be sunsetted in Q2 2024, giving all developers time to make the transition. （PySimpleGUI 4 は 2024 年第 2 四半期に廃止され、すべての開発者に移行する時間が与えられます。）</p>
<cite><a href="https://docs.pysimplegui.com/en/latest/readme/sunset/">https://docs.pysimplegui.com/en/latest/readme/sunset/</a></cite></blockquote>



<h2 class="wp-block-heading">まとめ</h2>



<p>PySimpleGUIの基本的な操作をお伝えしました。<br>今回紹介した内容を上手く組み合わせて、是非ご自身の業務に合ったアプリケーションを作成してみてください。</p>



<p class="has-text-align-center"><strong>Python 基礎文法の教科書を執筆しました！</strong></p>



<div class="wp-block-cocoon-blocks-blogcard blogcard-type bct-none">
<a rel="noopener" href="https://zenn.dev/python_academia/books/6df147d8b82939" title="【図解】Python 基礎文法の教科書" class="blogcard-wrap external-blogcard-wrap a-wrap cf" target="_blank"><div class="blogcard external-blogcard eb-left cf"><div class="blogcard-label external-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail external-blogcard-thumbnail"><img loading="lazy" decoding="async" src="https://arika-blog.com/wp-content/uploads/cocoon-resources/blog-card-cache/207d1bc4f416570dfed7731b6853821e.jpg" alt="" class="blogcard-thumb-image external-blogcard-thumb-image" width="160" height="90" /></figure><div class="blogcard-content external-blogcard-content"><div class="blogcard-title external-blogcard-title">【図解】Python 基礎文法の教科書</div><div class="blogcard-snippet external-blogcard-snippet">本書は、これからPythonを学ぶ方や初学者の方でも無理なく勉強を進められるように、図解や画像を豊富に使って説明をしています。 内容はPythonチュートリアル（公式のドキュメント）に準拠しているため、理解必須の部分をこの1冊ですべて網羅することができます。 ・プログラミング</div></div><div class="blogcard-footer external-blogcard-footer cf"><div class="blogcard-site external-blogcard-site"><div class="blogcard-favicon external-blogcard-favicon"><img loading="lazy" decoding="async" src="https://www.google.com/s2/favicons?domain=https://zenn.dev/python_academia/books/6df147d8b82939" alt="" class="blogcard-favicon-image external-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain external-blogcard-domain">zenn.dev</div></div></div></div></a>
</div>
]]></content:encoded>
					
					<wfw:commentRss>https://arika-blog.com/pysimplegui/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>【Tesseract OCR】PythonでPDFの文字が抽出できる</title>
		<link>https://arika-blog.com/automation/</link>
					<comments>https://arika-blog.com/automation/#respond</comments>
		
		<dc:creator><![CDATA[Pythonアカデミア]]></dc:creator>
		<pubDate>Sat, 26 Feb 2022 10:31:18 +0000</pubDate>
				<category><![CDATA[Python]]></category>
		<category><![CDATA[業務効率化]]></category>
		<category><![CDATA[画像処理]]></category>
		<guid isPermaLink="false">https://arika-blog.com/?p=128</guid>

					<description><![CDATA[本記事は以下の動画で必要なTesseract・poppler・7zipのダウンロード方法について解説します。 サンプルPDF サンプルコード 動画の内容はPythonとTesseract OCRを使って、PDF（スキャン [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>本記事は以下の動画で必要なTesseract・poppler・7zipのダウンロード方法について解説します。</p>



<figure class="wp-block-embed aligncenter is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe loading="lazy" title="【業務効率化実演】PythonでOCRを使ってPDFファイルを一括リネームしてみた" width="1256" height="707" src="https://www.youtube.com/embed/hVAMm_QNPP8?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>



<p><a href="https://arika-blog.com/wp-content/uploads/2023/04/sample.pdf">サンプルPDF</a></p>



<p><a href="https://arika-blog.com/wp-content/uploads/2023/04/tesseract_ocr-1.ipynb">サンプルコード</a></p>



<p>動画の内容はPythonとTesseract OCRを使って、PDF（スキャンデータ）から会社名を抽出し、その値を利用して会社ごとのPDFファイルを作成するという内容になっています。</p>



<p>OCR（光学的文字認識）とは下の画像のように、手書きや印刷された文字をイメージスキャナやデジタルカメラによって読みとり、コンピュータが利用できるデジタルの文字コードに変換する技術です。</p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="640" height="360" src="https://arika-blog.com/wp-content/uploads/2022/04/DATA-1.png" alt="" class="wp-image-628" style="aspect-ratio:416/234" srcset="https://arika-blog.com/wp-content/uploads/2022/04/DATA-1.png 640w, https://arika-blog.com/wp-content/uploads/2022/04/DATA-1-300x169.png 300w, https://arika-blog.com/wp-content/uploads/2022/04/DATA-1-120x68.png 120w, https://arika-blog.com/wp-content/uploads/2022/04/DATA-1-160x90.png 160w, https://arika-blog.com/wp-content/uploads/2022/04/DATA-1-320x180.png 320w" sizes="auto, (max-width: 640px) 100vw, 640px" /></figure>



<p>PythonはTesseractというOCRエンジンを使うことができるため、これを用いて資料の文字データを抽出します。（Tesseractは無料で使用することができます。）</p>



<h2 class="wp-block-heading">Tesseractのインストール</h2>



<p>まず始めにTesseractをダウンロードします。<br><a rel="noopener" href="https://github.com/UB-Mannheim/tesseract/wiki" target="_blank">https://github.com/UB-Mannheim/tesseract/wiki</a></p>



<p>お使いのパソコンによって32bitまたは64bit版をダウンロードしてください。</p>



<figure class="wp-block-image"><img decoding="async" src="https://api.axross-recipe.com/attachments/530d7cc2-286e-4a4e-979e-e7e3f1b64f45/url" alt=""/></figure>



<p>言語を選択して次に進みます。</p>



<figure class="wp-block-image"><img decoding="async" src="https://api.axross-recipe.com/attachments/5f433c77-29d6-434c-9abe-1f343b8cf4c2/url" alt=""/></figure>



<p>次へ。</p>



<figure class="wp-block-image"><img decoding="async" src="https://api.axross-recipe.com/attachments/37fab402-19aa-4c1f-89e9-a34e19777ee0/url" alt=""/></figure>



<p>ライセンスを確認して次へ。</p>



<figure class="wp-block-image"><img decoding="async" src="https://api.axross-recipe.com/attachments/c6767fbb-bbd3-43a0-827b-69a321605053/url" alt=""/></figure>



<p>今回は自分しか使わないので、Install just for meを選択します。</p>



<figure class="wp-block-image"><img decoding="async" src="https://api.axross-recipe.com/attachments/e73e85d3-6c4f-48e5-bfdc-aa9e73b534b9/url" alt=""/></figure>



<p>Additional script dataを展開します。</p>



<figure class="wp-block-image"><img decoding="async" src="https://api.axross-recipe.com/attachments/84265592-18ca-4075-a424-32ff4fd93f3a/url" alt=""/></figure>



<p>２つにチェックを入れます。</p>



<figure class="wp-block-image"><img decoding="async" src="https://api.axross-recipe.com/attachments/26d09514-bdd7-4ee5-ad43-1b2e93a0a494/url" alt=""/></figure>



<p>次に、Additional language dataを展開します。</p>



<figure class="wp-block-image"><img decoding="async" src="https://api.axross-recipe.com/attachments/3eba28da-f50d-409a-a415-678cd9707b57/url" alt=""/></figure>



<p>２つにチェックを入れて次に進みます。</p>



<figure class="wp-block-image"><img decoding="async" src="https://api.axross-recipe.com/attachments/d0ea3319-048b-4dc5-87e4-8bc2245ce45e/url" alt=""/></figure>



<p>インストールする場所を選択します。</p>



<figure class="wp-block-image"><img decoding="async" src="https://api.axross-recipe.com/attachments/195d74d2-e407-4934-900f-1398c721f929/url" alt=""/></figure>



<p>そのままインストールを選択します。</p>



<figure class="wp-block-image"><img decoding="async" src="https://api.axross-recipe.com/attachments/0faf0e68-80b6-4715-ad8a-a32341320410/url" alt=""/></figure>



<p>インストールが開始されます。<br>終了したら次に進みます。</p>



<figure class="wp-block-image"><img decoding="async" src="https://api.axross-recipe.com/attachments/c9826655-e0c3-4e6b-ad21-0d930f6f3e09/url" alt=""/></figure>



<p>これでTesseractのインストールが完了です。</p>



<figure class="wp-block-image"><img decoding="async" src="https://api.axross-recipe.com/attachments/cf7ea184-88ae-456b-8ad8-a38aa225288e/url" alt=""/></figure>



<h2 class="wp-block-heading">popplerのインストール</h2>



<p><strong>TesseractはPDFを文字認識することができないため、PDFファイルを一度画像ファイルに変換します。（最後にPDFファイルに戻す。）</strong></p>



<p>画像の変換にはpdf2imageを使用しますが、popplerというコマンドラインツールをインストールする必要があります。</p>



<p>現在、popplerがダウンロードできたサイトが閉鎖されています。（代替案の執筆は少々お待ちください。）</p>



<p>任意のpopplerダウンロードします。</p>



<figure class="wp-block-image"><img decoding="async" src="https://api.axross-recipe.com/attachments/17f53f53-1351-467c-ac04-eedfc0d27d72/url" alt=""/></figure>



<p>zip形式で圧縮されているため、解凍してください。</p>



<p>7zipというソフトを使って解凍することができます。<br><a href="https://sevenzip.osdn.jp/download.html">https://sevenzip.osdn.jp/download.html</a></p>



<figure class="wp-block-image aligncenter size-large is-resized"><img loading="lazy" decoding="async" width="1024" height="334" src="https://arika-blog.com/wp-content/uploads/2023/03/Tesseract-2023-03-13T064825.220-1-1024x334.png" alt="" class="wp-image-2613" style="aspect-ratio:840/273" srcset="https://arika-blog.com/wp-content/uploads/2023/03/Tesseract-2023-03-13T064825.220-1-1024x334.png 1024w, https://arika-blog.com/wp-content/uploads/2023/03/Tesseract-2023-03-13T064825.220-1-300x98.png 300w, https://arika-blog.com/wp-content/uploads/2023/03/Tesseract-2023-03-13T064825.220-1-768x250.png 768w, https://arika-blog.com/wp-content/uploads/2023/03/Tesseract-2023-03-13T064825.220-1.png 1200w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p>ダウンロードが完了すると、ファイルを右クリックで7z形式の解凍ができるようになっています。</p>



<figure class="wp-block-image aligncenter size-large"><img loading="lazy" decoding="async" width="1024" height="427" src="https://arika-blog.com/wp-content/uploads/2023/03/Tesseract-2023-03-13T211301.375-1024x427.png" alt="" class="wp-image-2618" srcset="https://arika-blog.com/wp-content/uploads/2023/03/Tesseract-2023-03-13T211301.375-1024x427.png 1024w, https://arika-blog.com/wp-content/uploads/2023/03/Tesseract-2023-03-13T211301.375-300x125.png 300w, https://arika-blog.com/wp-content/uploads/2023/03/Tesseract-2023-03-13T211301.375-768x320.png 768w, https://arika-blog.com/wp-content/uploads/2023/03/Tesseract-2023-03-13T211301.375.png 1200w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p><br>解凍すると４つのファイルがあります。</p>



<figure class="wp-block-image aligncenter size-large"><img loading="lazy" decoding="async" width="1024" height="228" src="https://arika-blog.com/wp-content/uploads/2023/03/244433405562b3210e471526f152ba12-1024x228.png" alt="" class="wp-image-2619" srcset="https://arika-blog.com/wp-content/uploads/2023/03/244433405562b3210e471526f152ba12-1024x228.png 1024w, https://arika-blog.com/wp-content/uploads/2023/03/244433405562b3210e471526f152ba12-300x67.png 300w, https://arika-blog.com/wp-content/uploads/2023/03/244433405562b3210e471526f152ba12-768x171.png 768w, https://arika-blog.com/wp-content/uploads/2023/03/244433405562b3210e471526f152ba12.png 1200w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p>ディレクトリ（フォルダ）構造が下記になるように移動します。</p>



<figure class="wp-block-image"><img decoding="async" src="https://api.axross-recipe.com/attachments/14261a58-d245-4237-a269-035933daa8af/url" alt=""/></figure>



<p>これでpopplerのインストールが完了です。</p>



<h2 class="wp-block-heading">おわりに</h2>



<p>Pythonを使った社内DXの一例を紹介しました。<br>他にできることはこちらの動画にまとめていますので、興味のある方は是非ご確認ください。</p>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe loading="lazy" title="【初学者向け】Pythonで業務効率化・社内DXできることを分野別6選でまとめてみた" width="1256" height="707" src="https://www.youtube.com/embed/HdYNuhhhcQA?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>



<p><strong>関連記事</strong><br><a href="https://arika-blog.com/python-pdf-compression/">【Python】Ghostscriptを使ってPDFファイルを簡単に圧縮する方法</a></p>



<p class="has-text-align-center"><strong>Python 基礎文法の教科書を執筆しました！</strong></p>



<div class="wp-block-cocoon-blocks-blogcard blogcard-type bct-none">
<a rel="noopener" href="https://zenn.dev/python_academia/books/6df147d8b82939" title="【図解】Python 基礎文法の教科書" class="blogcard-wrap external-blogcard-wrap a-wrap cf" target="_blank"><div class="blogcard external-blogcard eb-left cf"><div class="blogcard-label external-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail external-blogcard-thumbnail"><img loading="lazy" decoding="async" src="https://arika-blog.com/wp-content/uploads/cocoon-resources/blog-card-cache/207d1bc4f416570dfed7731b6853821e.jpg" alt="" class="blogcard-thumb-image external-blogcard-thumb-image" width="160" height="90" /></figure><div class="blogcard-content external-blogcard-content"><div class="blogcard-title external-blogcard-title">【図解】Python 基礎文法の教科書</div><div class="blogcard-snippet external-blogcard-snippet">本書は、これからPythonを学ぶ方や初学者の方でも無理なく勉強を進められるように、図解や画像を豊富に使って説明をしています。 内容はPythonチュートリアル（公式のドキュメント）に準拠しているため、理解必須の部分をこの1冊ですべて網羅することができます。 ・プログラミング</div></div><div class="blogcard-footer external-blogcard-footer cf"><div class="blogcard-site external-blogcard-site"><div class="blogcard-favicon external-blogcard-favicon"><img loading="lazy" decoding="async" src="https://www.google.com/s2/favicons?domain=https://zenn.dev/python_academia/books/6df147d8b82939" alt="" class="blogcard-favicon-image external-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain external-blogcard-domain">zenn.dev</div></div></div></div></a>
</div>
]]></content:encoded>
					
					<wfw:commentRss>https://arika-blog.com/automation/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
