Posts

【Python】Windows10でスクレイピングしたときのメモ【Selenium】

  • POSTS
  • 109 Words
お名前.comからスクレイピングでDNSレコードを取得したかったのでその時のメモ 目次 必要なもの とりあえずブラウザを開く 操作系 reCAPTCHA認証の対処 try-exceptで例外対応 ログを残そう 必要なもの [Python、seleniumが動作する環境](https://web.archive.org/web/20200924142352/https://sho- kun.com/?p=467) とりあえずブラウザを開く from selenium import webdriver from selenium.webdriver.common.keys import Keys # ChromeのWebDriverオブジェクトを作成 options = webdriver.ChromeOptions() # ドライバの選択 driver = webdriver.Chrome(executable_path='/Users/ユーザー名/Desktop/Selenium/chromedriver.exe', chrome_options=options) # 要素が表示されるまで10秒待機する設定 driver.implicitly_wait(10) # 操作するページを開く driver.get('https://navi.onamae.com/domain') これでとりあえずブラウザは開けます 「chromedriver.exe」の場所はそれぞれなので都度変更する driver.implicitly_wait(10) この項目は、後ほど登場するクリック系の処理が実行できるようになるまでの最大待機時間 time.sleep(10) このようにしてもよいのだが これだと10秒必ず待たないといけないのでダメ。 かといって待機時間を早くすると読み込みが追い付かずにエラーが出たりする。 操作系 driver.find_element_by_name('loginId').send_keys('xxxxxx') driver.find_element_by_css_selector('button').click() driver.find_element_by_xpath( "//a[@class='btn gtmclick']" ).click() 上から順に ・nameがloginIdになっている要素にxxxxxxを入力 ・cssでbuttonになっている要素をクリック ・xpathで指定した要素をクリック xpathを使うと大体の要素を選択できる chromeの拡張機能「xpath helper」を使うと簡単にxpathを生成してくれる reCAPTCHA認証の対処 reCAPTCHA認証を突破する方法もあるみたいですが、今回は頻繁に認証しなかったので 認証が出てくるタイミングで入力待ちにしてその間に手動で認証した # ログインボタンのクリック driver.find_element_by_css_selector('button').click() # 認証が表示されるのでここで入力待ちにする input() 何かを入力すると処理が再開される 認証が終わっていないのにキーを入力したときの例外処理などはきちんとしておいたほうがよさそう、、、

Docker上で動いているGitLabにキー認証でSSH接続できない

  • POSTS
  • 71 Words
dockerで動作中のGitLabにキー認証でSSH接続しようとしたらパスワードを聞かれる。 ![](https://web.archive.org/web/20200924142227im_/https://i0.wp.com/qiita- user- contents.imgix.net/https%3A%2F%2Fcdn.qiita.com%2Fassets%2Fpublic%2Farticle- ogp- background-1150d8b18a7c15795b701a55ae908f94.png?resize=160%2C90&ssl=1)![](https://web.archive.org/web/20200924142227im_/https://i0.wp.com/qiita- user- contents.imgix.net/https%3A%2F%2Fcdn.qiita.com%2Fassets%2Fpublic%2Farticle- ogp- background-1150d8b18a7c15795b701a55ae908f94.png?resize=160%2C90&ssl=1)SSH認証キーをGitLabに登録・設定手順 覚書 - Qiita SSH認証キーをGitLabに登録・設定手順 覚書 バージョン:7.13.5の方はこちらの記事になります。 SSH認証キーをGitLabに登録・設定手順 覚書(バージョン:7.13.5) Git・Gitlabを案件で使う頻度…qiita.com ここを参考に作業させていただきました。 原因 正しいportを指定できていなかった Host gitlab User git HostName 192.168.xxx.xxx TCPKeepAlive yes identitiesonly yes identityFile ~/.ssh/id_rsa 最初はこのように設定していました。 正しくはPortを10022にしてあげること() Host gitlab User git Port 10022 HostName 192.168.xxx.xxx TCPKeepAlive yes identitiesonly yes identityFile ~/.ssh/id_rsa なぜport10022? GitLabを建てる際に書いたdocker-compose.ymlを見てみると gitlab: restart: always image: sameersbn/gitlab:11.9.5 depends_on: - redis - postgresql ports: - "80:80" - "10022:22" ←ここ 10022:22と書いてあります… サーバー側の10022portがGitLab側の22portになっているわけです。

【Python】Windows10でスクレイピングするための環境構築と方法【Selenium】

  • POSTS
  • 153 Words
環境構築 目次 windowsにPythonをインストール コマンドプロントでSeleniumをインストールする WebDriverをダウンロードする chromeのバージョンアップ 1.PythonでSeleniumのwebdriverモジュールをインポート 2.操作するブラウザを開く 3.操作するページを開く 4.timeモジュールをインポート 5.class属性で指定する 6.クリックする1 7.クリックする2 windowsにPythonをインストール Python3のインストール こちらを参照してください。 コマンドプロントでSeleniumをインストールする このコマンドを実行するとインストールされます。 pip install selenium WebDriverをダウンロードする 公式サイトからChromeのWebDriverの最新版をダウンロード ![](https://web.archive.org/web/20200925223318im_/https://i1.wp.com/sho- kun.com/wp- content/uploads/2019/06/キャプチャ.png?resize=1000%2C594&ssl=1)![](https://web.archive.org/web/20200925223318im_/https://i1.wp.com/sho- kun.com/wp-content/uploads/2019/06/キャプチャ.png?resize=1000%2C594&ssl=1) 最新版をクリック ![](https://web.archive.org/web/20200925223318im_/https://i2.wp.com/sho- kun.com/wp- content/uploads/2019/06/キャプチャ-5.png?resize=814%2C266&ssl=1)![](https://web.archive.org/web/20200925223318im_/https://i2.wp.com/sho- kun.com/wp-content/uploads/2019/06/キャプチャ-5.png?resize=814%2C266&ssl=1) するとこのような画面になるので「win32.zip」をクリック ダウンロードが始まるので、終わったら解凍する。 解凍が終わったら「chromedriver.exe」を 任意の場所に移動させる。 今回はここ C:\Users\ユーザー名\Desktop\Selenium この際にchromeのバージョンを合わせないと動かない場合がある chromeのバージョンアップ 1.chromeを開いて 2.右上の![](https://web.archive.org/web/20200925223318im_/https://i2.wp.com/sho- kun.com/wp- content/uploads/2019/06/-1-e1559713883241.png?resize=24%2C22&ssl=1)![](https://web.archive.org/web/20200925223318im_/https://i2.wp.com/sho- kun.com/wp- content/uploads/2019/06/-1-e1559713883241.png?resize=24%2C22&ssl=1)をクリック 3.ヘルプ(H) 4.Google chromeについて(G) ここが現在のバージョンです。 勝手に更新が始まるので、完了したら再起動をします。 ![](https://web.archive.org/web/20200925223318im_/https://i0.wp.com/sho- kun.com/wp- content/uploads/2019/06/-2-e1559727934398.png?resize=691%2C243&ssl=1)![](https://web.archive.org/web/20200925223318im_/https://i0.wp.com/sho- kun.com/wp- content/uploads/2019/06/-2-e1559727934398.png?resize=691%2C243&ssl=1) ![](https://web.archive.org/web/20200925223318im_/https://i0.wp.com/sho- kun.com/wp- content/uploads/2019/06/-3-e1559727958307.png?resize=694%2C241&ssl=1)![](https://web.archive.org/web/20200925223318im_/https://i0.wp.com/sho- kun.com/wp- content/uploads/2019/06/-3-e1559727958307.png?resize=694%2C241&ssl=1) 再起動後このようになっていれば成功です。 ![](https://web.archive.org/web/20200925223318im_/https://i2.wp.com/sho- kun.com/wp- content/uploads/2019/06/-4-e1559727980903.png?resize=691%2C238&ssl=1)![](https://web.archive.org/web/20200925223318im_/https://i2.wp.com/sho- kun.com/wp- content/uploads/2019/06/-4-e1559727980903.png?resize=691%2C238&ssl=1) 以上で環境の構築は終了です。 Seleniumでスクレイピングする 先ほど「chromedriver.exe」を保存した階層で作業します。

phpでsshコマンドをたたいてansibleコマンドを実行させた

  • POSTS
  • 74 Words
管理パネル(PHP)からansibleサーバーにコマンドを投げて、ansibleコマンドを走らせたかった。 phpからsshで別サーバーにコマンドを実行させる phpで適当にインフォメーションを作成して、それをもとにコマンドを生成し 生成したコマンドをansibleサーバーで実行する。 最初は $command = "ssh 192.168.xxx.xxx {コマンド}"; exec($command, $out, $return_ver); var_dump($out); こんな感じで行けるかな?と思いつつ実装and実行 どうやらapacheに権限がなくてsshでキー認証ができなくてダメ じゃあ「sudo」つけたらええんかな? $command = "sudo ssh 192.168.xxx.xxx {コマンド}"; exec($command, $out, $return_ver); var_dump($out); なんかsudoつかうなや的なエラー、、、 結局ssh2を使いました [![](https://web.archive.org/web/20200925222430im_/https://i0.wp.com/qiita- user- contents.imgix.net/https%3A%2F%2Fcdn.qiita.com%2Fassets%2Fpublic%2Farticle- ogp- background-1150d8b18a7c15795b701a55ae908f94.png?resize=160%2C90&ssl=1)![](https://web.archive.org/web/20200925222430im_/https://i0.wp.com/qiita- user- contents.imgix.net/https%3A%2F%2Fcdn.qiita.com%2Fassets%2Fpublic%2Farticle- ogp- background-1150d8b18a7c15795b701a55ae908f94.png?resize=160%2C90&ssl=1)ssh2のextensionをphp7にインストールする方法 Qiitassh2 extensionを PHP7にインストールした手順です。 必要ライブラリ すでにこの辺のライブラリがある場合は重複ですが yum install make gcc glibc-devel zlib-devel op…qiita.com](https://web.archive.org/web/20200925222430/https://qiita.com/bohebohechan/items/50f1546a20c9dde7efcb “ssh2のextensionをphp7にインストールする方法 - Qiita”) インストールが必要orz $command = "{コマンド}"; $conn = ssh2_connect("192.168.xxx.xxx", {ポート}); ssh2_auth_pubkey_file( $conn, '{ユーザー名}', 'id_rsa.pub', 'id_rsa' ); //コマンドを実行して配列に代入 $output = ssh2_exec($conn, "$command"); 最終こんな感じになった、、、

【ガラホ】dignoケータイ2にアプリをインストール

  • POSTS
  • 48 Words
dignoケータイ2でsip電話を使えるように、「zoiper」 をインストールしたい しかしストアがないのでどのように入れよう、、、 方法1.Bluetoothでapkファイルを送ってインストール 送れるものの、インストールできなかった。 方法2.A「Android SDK Platform Tools」でPCからインストール この手順で成功しました。 流れは 「Android SDK Platform Tools」をWindowsに入れる 参考 [【最新版】Android SDK Platform Toolsを導入してADBコマンドを使えるようにする](https://web.archive.org/web/20200924151946/https://andmem.blogspot.com/2017/05/how- to-install-adb.html) androidにドライバを入れる 参考 Androidの各種ドライバのインストール(ADB,Bootloader,Recovery) インストールしたいapkファイルを用意 僕はここを使いました 「Android SDK Platform Tools」でインストール ※「Android SDK Platform Tools」を使うにはデバッグモードにする必要がある。 Android端末を「デバッグモード」(USBデバッグ)に設定する [【最新版】Android SDK Platform Toolsを導入してADBコマンドを使えるようにする](https://web.archive.org/web/20200924151946/https://andmem.blogspot.com/2017/05/how- to-install-adb.html) 以下参考記事 [【最新版】Android SDK Platform Toolsを導入してADBコマンドを使えるようにする](https://web.archive.org/web/20200924151946/https://andmem.blogspot.com/2017/05/how- to-install-adb.html) Android端末を「デバッグモード」(USBデバッグ)に設定する Androidの各種ドライバのインストール(ADB,Bootloader,Recovery)

Raspberry PiでSesameを施錠しようとしたらつまずいた

  • POSTS
  • 97 Words
[Suica](https://web.archive.org/web/20200924140511/https://ameblo.jp/candyhouse-inc/entry-12413908790.html)[でセサミを解錠](https://web.archive.org/web/20200924140511/https://ameblo.jp/candyhouse-inc/entry-12413908790.html)[ ( with ](https://web.archive.org/web/20200924140511/https://ameblo.jp/candyhouse-inc/entry-12413908790.html)[ラズパイ)](https://web.archive.org/web/20200924140511/https://ameblo.jp/candyhouse-inc/entry-12413908790.html) 公式のブログを参考にRaspberry Piでsesameを施錠しようと 「SONY RC-S370」をRaspberry Piで使おうとしたらつまずいた。。。 結論から行くと公式のブログは「SONY RC-S380」を使用する前提の解説であり、 前モデルの「SONY RC-S370」は想定していなかった。 # python2 tagtool.py
No handlers could be found for logger "nfc.llcp.sec"
[nfc.clf] searching for reader on path usb
[nfc.clf.rcs956] input/output error while waiting for ack
[nfc.clf] no reader available on path usb
[main] no contactless reader found on usb
[main] no contactless reader available
何度やってもこのような表記で、NFCリーダー自体が使えなっかた。 原因がわからなっかたので、調べていると ![](https://web.archive.org/web/20200924140511im_/https://i0.wp.com/sho- kun.com/wp-content/uploads/cocoon-resources/blog-card- cache/0b7a30294e7d687b14e953b1460c9cf9.jpg?resize=160%2C90&ssl=1)![](https://web.archive.org/web/20200924140511im_/https://i0.wp.com/sho- kun.com/wp-content/uploads/cocoon-resources/blog-card- cache/0b7a30294e7d687b14e953b1460c9cf9.jpg?resize=160%2C90&ssl=1)NFCリーダーライター PaSoRi を試す - Raspberry Pi 備忘録 / Mbedもあるよ!NFCリーダーライター PaSoRi を試します。 手元にあるのは RC-S370で、現在は生産が終了しているモデルですね。 認識 $ lsusb Bus 001 Device 004: ID 041e:323d Creative Technology, Ltd Bus 001 Device 005: ID 054c:…pongsuke.