py-py’s blog

何か書くよ

JavaScriptの関数定義

1 function命令 2 関数オブジェクト 3 new演算子を利用したコンストラクタ関数 1, 2,はわかるが、3の使いどころが分からない。 function命令 function hello(msg){ return msg; } console.log(hello("hello world")); 関数オブジェクト(関数名を持たないので…

urllib.request.urlopen()で特定のサイトが開かない場合

よくあるある。 記事書いたか覚えないけど、覚えてないことはまた書いておこう。 題名の通りで urlopen()で開かない timeout=nを指定してもだめ な時にはUser-Agent情報を付与すること。 from urllib.request import urlopen url = "hogehoge" reqeust = url…

csvで出力すると一行空く

今まで2重配列をwriter.writerows()で一気にいれていたため、こういうことはなかった。 ただ、一行ずつ入れるときに一行空いてしまったためググったら速攻どんぴしゃな記事が。 qiita.com import csv with open(file_name, "w", encoding="utf-8_sig, newlin…

configparser.ConfigParserでconf.iniを正常に読み込まない件

結論 read()したものを変数に突っ込んでました。。 ルーチン作業の自動化プログラムを作成しているときにはまったしょうもないこと。 こんな風にconfファイル作って conf.ini [download_folder] folder = XXXXX [chromedriver] file_path = XXXX url = XXXX …

urlopen()で引数に日本語が含まれているとアクセスできない件【追記あり】

今までファイルを取得してきた中でファイル名に日本語が含まれているものが少なかった。 今回日本語が含まれるファイルがいくつかあったため、その際に取った方法を。 サンプルurl: http://www.nantara.com/ほげほげ.jpg 流れ ①urlに日本語があるか確認する …

Basic認証ありサイトへSeleniumでログインする

よくある、エクセルでまとめられた顧客一覧リスト記載のURLにアクセスする、みたいな作業工程を自動化した。 その時の簡単なメモ。 Basic認証 -> urlを加工して簡単にログインする from urllib.parse import urlparse from selenium import webdriver driver…

TortoiseGitメモ

www.aise.ics.saitama-u.ac.jp

タグ内のテキストの一部に別タグを付けたい(20190625追記)

こんな感じのhtmlがあるとする(一部抜粋) <div class="hogehoge">第一回 天下一武道会を開始する。うわ、ビルズ様つえぇなあ。</div> この「第一回」という文字に対し何らかのタグを付与したい。 例えば太字にしたいとか。 BeautifulSoupのnew_tagをそのまま使うとhogehoge全体が太字にな…

mysqldump Version Mismatch

MySQLからデータのバックアップをするため、Data Exportしようとすると怒られた。 前提 MySQL 5.7利用 mysqldump.exe is version XXX, but the MySQL Server to be dumped has version YYY. Because the version of mysqldump is not the same as the server…

リモートデスクトップにて誰がログインしているか調べる

正直書くものでもないな、、 query session/server:IP

スクレイピングメモ【追記あり】

以前 py-py.hatenablog.com ↑でキーを押しながら要素をクリックする、ということを書いたが、これに関連しそう&いろいろ詰まったことがあったのでメモ 結論 一覧に戻るやトップページに戻るなどのリンクやボタンを押すプログラムを組むときは、別タブを用意…

BeautifulSoupオブジェクトをhtmlに変換する

BeautifulSoupで既存のhtmlを加工した後、htmlとして使いたいときに以下の関数を利用する。 soup.prettify() from bs4 import BeautifuSoup, ResultSet html : str = "" with open("hoge.html", "r", encoding-"utf-8") as f: html = f.read() soup = Beauti…

SystemError: error return without exception set

Pycharmでデバッグしているときに発生した。 参考 stackoverflow.com ただし上記で検証していないので各自で検討。 考えることをやめた自分はそのまま実行だわ わはは。

xcodeにてUI作成する際に

参考 teratail.com ↑をやってダブルクリック

ChromeDriverのheadlessモードによるスクレイピング

今まで windows phantomjs を使ってスクレイピングをしてきたが、phantomjsの開発が終わったため? chromedriverを使いたいという声が上がってきた。 chromedriverのheadlessモードを使うまでの手順を書く。 前提 windows chromedriverをダウンロードしてい…

seleniumでキーを押しながら要素をクリック

する際にActionChainsに、seleniumで取得した要素をつっこんで怒られていた話。 ActionChainsに突っ込むのはdriverで、取得した要素を突っ込むのはActionChainsオブジェクトの関数click() from selenium import webdriver from selenium.webdriver.common.ke…

WebDriverWait(driver, timeout)って条件満たすまで待機してるの?

こんな感じのコードがあるとする from selenium import webdriver from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions from selenium.webdriver.common.by import By url = "対象サイト"…

Anacondaを使わずにvenv仮想環境下でnumpy, pandasを使いたい

が、できず。。なぜだ。 前提 windows Python3.7.2 venvで仮想環境作った venvの仮想環境をactivateしてpipが古いからアップデートして pip install pandas で依存ライブラリ入ってインストには成功するのに Pycharm上でimport pandasと打つと 「ModuleNotFo…

Pythonによる文字データの圧縮

DBにデータを入れる際に、データが大きすぎてinsertできなかったため、データを圧縮して保存することにした。 方法は簡単で、以下のようになる その前にいくつかまとめる .encode() .decode() .hex() .fromhex() encode()の使い方 文字列をbytes型へ変換する…

cmdのバッチからPythonを動かす

前提: windows python3.6 バッチファイルとして以下を記述 exe_python.bat @echo off Pythonのパス 実行したいpythonファイル pause 例: ディレクトリに以下のファイルを作る main.py execute_main.bat execute_main.bat @echo off Pythonへのパス main.py …

configで日本語を使いたいとき

Pythonの設定ファイルでconfigparserでconfig.iniを作ったときの話 前提 windows python3.6.2 中身に日本語が入っているときに、そのままread(config_name)をすると 「cp932' codec can't decode」と怒られる そのためread(config_name, "utf-8")とすること …

Pythonのログについて

ログについて ログを扱う流れ Loggerオブジェクトの作成 Loggerオブジェクトのメッセージレベル設定 Handlerの作成 Handlerのメッセージレベル設定 LoggerにHandler(の設定)を付与 ログ出力 上記のような流れになる。 単一ファイルを実行した際、ログを標準…

MySQLエラー対応

既存システムの改修を行っているが、改修にて生じた新規データをDBに保存する際にエラーが出たため調査中。 エラーの内容は 「ERROR - 2055: Lost connection to MySQL server at 'XXXX', system error: 10054 既存の接続はリモート ホストに強制的に切断さ…

わかりやすい資料作成入門

書籍の 「一生使える 見やすい資料のデザイン入門」 「一生使えるプレゼン上手の資料作成入門」 などが使える。 持っていない場合は下記リンクを参考にするとよい。 超人気!累計220万PVされた「見やすいプレゼン資料の作り方」が見やすい! | トリップエース

AWSについて

AWS

liginc.co.jp https://qiita.com/Arashi/items/629aaed33401b8f2265c

Selenium Compound class names not permitted

python - Selenium Compound class names not permitted - Stack Overflow find_element_by_css_selector(."class_name") find_element_by_xpath("//*[@class='class_name']") どちらかで取得する 複数の場合はもちろん、find_elements_by_にすること エラー…

わかりやすいDockerの記事

qiitaでとても参考になるものがあったので。 qiita.com qiita.com qiita.com

Pycharmデバッグ方法

タイトル通り ブレークポイントを置く 虫ボタンを押す これでデバッグが走る。 ループした際に、指定する回数のときにデバッグをしたい場合は以下のようにする for num in range(1, 11): print(num) # <-- ここにブレークポイントを置く ブレークポイントを…

Python Selenium PhantomJS環境構築

環境前提: Windows Pythonインストール済 cmdにて以下 pip install selenium PhantomJSのインストール http://phantomjs.org/download.html 対応するOSに合わせて落としてインストール インストールしたらbin配下に実行ファイル等を置いたりpath通す やった…

Python + Selenium + PhantomJSメモ

seleniumでボタンをクリックしたいとき driver.find_element_by_link_text("文字列").click() で行うがそれでもできない時の対処。 要素の検証から該当のボタンを調査すると「onclick=メソッド名」で、find_element_by_link_text()でも要素を掴めない時があ…