カテゴリー別アーカイブ: 未分類

python ftp text読み込み

python ftp text読み込みを作ってみる

x-serverで、フォルダーpublic_html/xxxx/data/にある
*.json
を取得

直接ファイルに落とす場合

from ftplib import FTP
import glob

ftp = FTP(
    "sv22xx.xserver.jp",
    "aaa@xxxx.xsrv.jp",
    passwd="xxxx"
)

def mid(text, n, m):
  return text[n-1:n+m-1]

items = ftp.nlst('/xxxx.xsrv.jp/public_html/xxxx/data/*.json')
print(items)
for row in items:
#                f.write(row + '\n') # 標準出力に惑わされないようファイルにも出力
    st1 = mid(row, len("/xxxx.xsrv.jp/public_html/xxxx/data/")+1 , len(row)-len("/xxxx.xsrv.jp/public_html/xxxx/data/") )
    print(st1)
    print(row)
    with open("data2/"+st1, "w") as f:
        ftp.retrlines("RETR "+row, f.write)

# フォルダー内のファイル一覧表示
filelist=glob.glob('data2/*.json')
print (filelist)
for file in filelist:
    print(file)

ファイルにおとさずに、変数に取り込む場合
参考

python – FTPでのファイル取得

from ftplib import FTP
import glob

ftp = FTP(
    "sv22xx.xserver.jp",
    "aaa@xxxx.xsrv.jp",
    passwd="xxxx"
)

def mid(text, n, m):
  return text[n-1:n+m-1]

items = ftp.nlst('/xxxx.xsrv.jp/public_html/xxxx/data/*.json')
print(items)
for row in items:
    st1 = mid(row, len("/xxxx.xsrv.jp/public_html/xxxx/data/")+1 , len(row)-len("/xxxx.xsrv.jp/public_html/xxxx/data/") )
    print(st1)
    print(row)
    ret = list()
    with open("data2/"+st1, "w") as f:
        #retに読み込んだ内容を追加
        ftp.retrlines("RETR "+row, ret.append)
    for line in ret:
        print(line)

Ubuntu 14 youtube-dlを使う

youtube-dl を使って見る

youtube-dl を使って見る

https://www.youtube.com/watch?v=xxxxxx

エラー

インストールされていない

sudo apt-get install youtube-dl

エラーだ

youtube-dl --version

古いバージョンだ

sudo youtube-dl -U

バージョンアップできない

https://www.howtoforge.com/tutorial/install-and-use-youtube-dl-on-ubuntu-1604/

に従い

sudo curl -L https://yt-dl.org/latest/youtube-dl -o /usr/bin/youtube-dl
sudo chmod 755 /usr/bin/youtube-dl

バージョンを調べる

sudo youtube-dl -U

新しくなった

https://www.youtube.com/watch?v=xxxxxx

うまく行った

Genymotionのお引越し

PCの動作が不安定になってきたので
Genymotionのお引越しをした

https://xanadu62ad.blogspot.com/2015/07/genymotion.html

を、参考にしたが、
Ubuntuの場合、ファイルパスが違うようであった

仕組みとしては、VirtualBoxで動いているので

拡張子.vboxを探してみた

find ./ -name "*.vbox" > /home/(username)/vbox.txt

見つかったので、これを、新しいPCに移行する事にした

./home/cfsx301/.Genymobile/Genymotion/deployed/Xxxx/Xxxx.vbox

移行する環境を/deployedのフォルダー単位で新しい環境の/deployedのフォルダーへ複写する

新しい環境で、genymotionを立ち上げるが、追加したものが認識しないため
一度、新しい環境でXxxx.vboxをダブルクリックし、VirtualBoxを起動する事で
VirtualBoxに新しい仮想ファイルの認識(登録)ができる

その後、genymotionを起動すると、移行した内容が一覧に追加される

この手順は

https://xanadu62ad.blogspot.com/2015/07/genymotion.html

を、参考にしました

Ubuntu Chromiumのバージョンを指定してインストール

同じ環境を、複数構築をするために
Chromiumのバージョンを固定してインストールしてみた

単純にインストールする場合

sudo apt-get install chromium-browser -y

で、できるが今後、同じ環境を維持したい

インストールでバージョン指定する方法もあるようであるが
debファイルにて、インストールし、
debファイルを個別に管理できればいい

現在のバージョンを調べたら

chromium-browser --version
Chromium 76.0.3809.100

であった。

https://moerrari.hatenablog.com/entries/2014/09/21
http://dwm.me/archives/3605

などを、参考に

apt-cache showpkg chromium-browser
76.0.3809.100-0ubuntu0.16.04.1 deb

で、検索(Google)したところ

https://pkgs.org/download/chromium-browser

で、見つかった。
最新版なため、見つかったのかもしれないが
ダウンロードした

chromium-browser_76.0.3809.100-0ubuntu0.16.04.1_amd64.deb

を、管理しておけば、別の環境にも反映できそう。

インストールは

sudo gdebi ./chromium-browser_76.0.3809.100-0ubuntu0.16.04.1_amd64.deb

あるいは

dpkg -i chromium-browser_76.0.3809.100-0ubuntu0.16.04.1_amd64.deb

依存関係が発生したら

sudo apt install -f

直接ダウンロードする場合は

wget http://archive.ubuntu.com/ubuntu/pool/universe/c/chromium-browser/chromium-browser_76.0.3809.100-0ubuntu0.16.04.1_amd64.deb

インスストールは

sudo gdebi ./chromium-browser_76.0.3809.100-0ubuntu0.16.04.1_amd64.deb

バージョンを指定して、インストールも可能かも

sudo apt-get install chromium-browser=76.0.3809.100-0ubuntu0.16.04.1

あと、インストールしたパッケージを
アップデートさせないには

echo chromium-browser hold | sudo dpkg --set-selections
echo chromium-browser-l10n hold | sudo dpkg --set-selections
echo chromium-codecs-ffmpeg hold | sudo dpkg --set-selections
chromium-browser --version
Chromium 76.0.3809.100

起動を確認

chromium-browser

Selenumeで接続するために、Driverもインストール

Ubuntu16なので

https://launchpad.net/ubuntu/xenial/amd64/chromium-chromedriver/

から

https://launchpad.net/ubuntu/xenial/amd64/chromium-chromedriver/76.0.3809.100-0ubuntu0.16.04.1

から

http://launchpadlibrarian.net/436852267/chromium-chromedriver_76.0.3809.100-0ubuntu0.16.04.1_amd64.deb

ダウンロードしてインストール

sudo gdebi ./chromium-chromedriver_76.0.3809.100-0ubuntu0.16.04.1_amd64.deb

直接ダウンロードする場合は

wget http://launchpadlibrarian.net/436852267/chromium-chromedriver_76.0.3809.100-0ubuntu0.16.04.1_amd64.deb

インスストールは

sudo gdebi ./chromium-chromedriver_76.0.3809.100-0ubuntu0.16.04.1_amd64.deb

インストールしたか確認

ls /usr/lib/chromium-browser/chromedriver

サンプルで操作確認

vim sample.py

vimがインストールされていない場合は
インストール

sudo apt-get install vim

vim sample.py
iで挿入−モードで
以下をコピーし
Shift+Ctr+Vで、貼り付ける

from selenium import webdriver
 
driver = webdriver.Chrome("/usr/lib/chromium-browser/chromedriver")
driver.get('https://google.co.jp')

esc:qw
で保存終了

python sample.py

で、操作確認

GitKrakenをUbuntu14にインストール

以前、インストールできたのだが、本日(2019-8-15)インストールしようとしたら
うまくいかなかった。

試しに、以前のインストーラで行った所、無事インストールできた。

うまくいったバージンは4.2.2でした。


sudo dpkg -i gitkraken-amd64.deb

django-hijackを設定

Djangoで
他の人のIDでログインできるようになるツールです。

https://github.com/arteria/django-hijack-admin

に従い

pip install django-hijack-admin

で、インストール

settings.py

に、
hijack_admin
を追加

INSTALLED_APPS = (
    ...,
    'hijack_admin',
)

エラーが出た

ERRORS:
?: (hijack_admin.E001) Hijack GET requests must be allowed for django-hijack-admin to work.
	HINT: Set HIJACK_ALLOW_GET_REQUESTS to True.
https://django-hijack.readthedocs.io/en/stable/configuration/

を参考に

settings.py
に、

HIJACK_ALLOW_GET_REQUESTS = True

を追加

django.urls.exceptions.NoReverseMatch: 'hijack' is not a registered namespace

とのエラーが出たので、

https://django-hijack.readthedocs.io/en/latest/

を参考に

url.py

url(r'^hijack/', include('hijack.urls', namespace='hijack')),

を追加

無事使えるようになった

使うときは
スタッフ権限があるユーザで
adminのメニューに入り

認証と許可の
ユーザ変更に入ると
ユーザ単位にhaijackボタンが追加になる

開発の段階で、複数アカウントの制御の扱いのデバッグに
使えそうである