python
アメブロユーザの お気に入りブログと読者ブログの差分を 確認するプログラム。 以下の行にユーザを設定する。 ameblo_user = 'XXXXXXXXXXXXXX' このスクリプトは、 指定されたユーザーが公開している、 お気に入りブログと読者ブログのリンクのみを取得する…
データ分析する時に、 どの単位でデータをまとめるか。 メールの一括収集でできるデータ分析を している最中ですが、 週ごとにメールをまとめるのが よさそうでした。 これはサンプル。 dataは2次元配列として準備、 1要素目が日付、 2要素目が本文のサンプ…
UTF-8のテキストをデコードする時に、 Windows-1254と判定され、文字化けする現象。 detect_enc = chardet.detect(temp)['encoding'] 仕方ないので、条件分岐をひとつ増やして対応。 elif detect_enc == 'Windows-1254': detect_enc = 'utf-8' html_content …
こんな流れで読み込んでいけばいいと思います。 TextAnalyzerまで到達すれば、あとは各種分析が実施可能です。
以前、urllibを使ったWebスクレイピング例を投稿したが、 セッションがあると、扱うのが難しくなってくる。 Seleniumを使って、ブラウザを利用すると、 セッションが扱いやすくなる。 以下サンプルでは、 xpath_listに、URL、XPATH、検索文字列、を設定する…
前回のメール逐次取得版をモジュール化しました。 今回は、メッセージの取得だけに特化し、 デコード処理やコンテンツ処理は省略しました。 それらの処理が必要な場合は、メイン処理側で対応すること。 モジュールのドキュメンテーションも追加。 以下のコー…
通常のmailbox取得では、ファイルの全体をパース指定するようで、 とても時間がかかることは以前の記事に書いた。 import mailbox mbox = mailbox.mbox('example.mbox') for message in mbox: print("Subject:", message['subject']) mbox.close() 逐次的に…
Webスクレイピングで、 たくさんのデータを独自に収集して、 収集を自動化したい。 一番大事なのは、 サイト側がWebスクレイピングを許可しているかどうか。 サイトの ルートディレクトリにある 「robots.txt」の中身を見てみることで分かる。 https://www.y…
同じフォルダに「category_social.mbox」があると仮定して、 タイトルにワード「フォロー」が含まれているメールのみ、 CountVectorizerで語句の出現頻度を集計するPythonスクリプトです。 AIや機械学習処理の前準備になる部分です。 今回はメール読み込みで…
Pythonでテキスト分析する時に最低限必要な前処理を記載します。 ・テキストを読み込む ・分かち書きする ・分かち書きした語句をカウントする 以下サンプルです。 まずは、データの準備です。 Wikipedia日本語版のページを参照し、 test_dir/isaac_asimov_w…
Pythonで自然言語処理を行うにあたり、 ブログの諸先輩方から知恵を借りて、 Mecabで分かち書きする処理を作成。 この記事の末尾にソースを貼り付けておく。 このブログでの注意点として「self.tagger.parse("")」を追加。 これがないと、不定値の解析結果が…
'cp932' codec can't encode character '\xa9' in position 3337: illegal multibyte sequence Windowsで、Pythonを動かすとよく見る例外。Linuxだと見ない。 エンコード・デコードの深みを調査する前に、これを確認すること。 自分への備忘録。 スタックト…
メールヘッダーのデコード部分の備忘録。 送信元を例に。 from email.header import decode_header decoded = decode_header(message['from']) outstr = decoded[0][0].decode(decoded[0][1]) # 例)decoded[0][0] # b'LinkedIn\xe3\x82\xb3\xe3\x83\xb3\xe3…
物忘れが多く、今後の備忘録を書くためにブログを開設。 ここ10年ぐらいのメールがGmailにたまっている。 ほとんど広告やニュースレターだが、これだけたくさん溜まっていると、 時代ごとに何か面白い傾向でも見つかるかと、Pythonで分析したく思った。 Gmai…