スナックelve 本店

バツイチ40代女の日記です

一介の派遣にそこまで忠誠心求めないで

異動といえば数年前、私の採用を決めたというやや偉い人が異動になったときのこと。やや偉い人はネットでよく見かけるハンチョーに似てる。以下ハンチョー。
笑ってるのか怒ってるのかよくわからない人だった。怖い人だった。でも、ハンチョーが偉い人に「磨けば光りますよ!」と私を推薦してくれたということであった。何を磨くべきだったのかは不明のままである。

ハンチョーさんが異動するの寂しいです、といったところ、ハンチョーはいつも通り読めない表情で
「じゃぁ、どうする? 辞めちゃう?」
などと、とんでもないことを聞いてきたのです。
生活かかってますから!!!w
f:id:elve:20200304211940p:plain

働く男はいつも蟲毒ですね(誤変換)

桃の節句。送別会

昨日は会社で送別会がありました。派遣なのでいつも帰っていたのですが、今年は4年お世話になった偉い人が異動するということで偉い人にスピーチ(自意識過剰には鬼門)することになりまして・・・当日に!!!
おいおいおいおい(;´Д`)
マルセイの夕食を準備しなくてはいけないので断ろうかと思ったのですが、このご時世なので短時間で終わらせるとのこと。19:30に終わる予定だったので逃げられなくなりましたw
お昼休みに便箋買ってきたりしつつ準備をして(仕事しろよ・・・w)

いやーすぐ、もらい泣きするのでセレモニー苦手なんですが、偉い人、ベテラン社員、中堅社員、3年目くらいで初の異動と勢揃いの今回の異動。
私は最初の方で偉い人に短く礼を述べただけになったのですが、皆笑いあり、涙ありの怒涛のスピーチ攻撃。答辞(?)も初異動の子が号泣して、それをみな温かい目で見ていて、中堅の人が教育係の人とのつながりが続く話をすると偉い人がそれ一生の付き合いだよw なんて補強しつつスピーチしていてですね・・・こういう時、営業強いな!!! みんな口達者(号泣)
f:id:elve:20200304194403p:plain

異動発表の時、転出先構わず「ご栄転」と言って、みんなで拍手する意味が分からなかった。
異動が決まった人に群がって握手を求める(今年は控えめだった)意味が分からなかった。

ああ、これはご栄転ですわ。おめでとうございます! おめでとうございます!
あなたの人生に幸あれ! 残された我々に幸あれ! よく頑張った。我々はワンチームだった。
君はみんなに愛される人だから、新しい場所でも大切にしてもらってね。おめでとうおめでとう。
僕ら大人だから、そうやって送り出すのだね。知らなかった。

そしたら、新人ちゃんがさー。今回初異動の子が世話係だった新人ちゃんがスピーチ最初っから泣いてんの。
「異動されるの嫌です。寂しいです」
って・・・ですよねー!!!(号泣)

みんないい子!! サイコーだなぁ。こういう人たちと私は仕事してきたんだって誇れるよ。ありがたいよ。
他の派遣の子も来たら良かったのに。絶対職場好きになるのに。

ってさー。偉い人の話終わったら20時よ。やっべー。マルセイの飯やっべー。

文字通り泣く泣く中座しましたよ。後片付けもせんですまんのー。何なら準備手伝うフリでほぼ役に立ってなかった(;´Д`)

で、そこでマルセイですよ。
遅れたからご飯食べたか確認したくてLINEしても既読つかない、電話20回ならしたらブツっと切れる。どんな状況だよ!?
お惣菜はだいたいその日の夜1時くらいが賞味期限。賞味期限が切れるとマルセイは食べません。マルセイが食べるモノだけを買うために中座したのに。

仕方ないのでシュウマイとコロッケとサラダ買って帰ったら、レトルトカレーをご飯にかけているところでした。
(家に)いるんかーい!!!
(晩飯)あるんかーい!!!

カレーを食うマルセイにポテトサラダ食べる? と聞くと
「食べない」
あそ。ゴミ箱へ。
シュウマイは?
「食べない」
ゴミ箱へ。
コロッケは?
「食べない」
ゴミ箱へ。

捨てているのに気づいたマルセイ
「うわーサイテー!!」

そっくりそのまま返すよ。

私が大切な職場で得た大切な金で買った大切な食べ物を何も考えずに「食べない」と言えるお前が憎い。

というわけで、こいつに私の時間やお金や心を使うのは本当に嫌だと思いなおしたので今後彼の食事の買い物も準備もしないことにする。あほらしい。
21時過ぎにふて寝して、1時ころにマルセイが寝室に来たので、リビングに移動してソファーで寝た。
悪いとも思わないのだろうが、送別会に時間を戻してくれないと許せない。

まだやる過去ログリスト作成w

snack.elve.club
で、だいぶ理想の形なのですが、できればはてブが多い順でかつ古い方から抽出したい。
https://b.hatena.ne.jp/entrylist?url=https%3A%2F%2Fsnack.elve.club%2F&sort=eid&page=2
のページ数変えていけばブクマされたエントリを取得できそう。
f:id:elve:20200302230753p:plain

ソートは
snack.elve.club
こっちを応用すれば行けそう

import os
import urllib.request, urllib.error
from bs4 import BeautifulSoup as bs4
import pandas as pd
import datetime

#書き込みファイル
FILE_NAME_A = r'C:\Users\miki sunonhara\Documents\hateBoList.txt'

#文字コード
FILE_ENCODING = 'UTF-8'

#URL
INPUT_URL = 'https://elve.hatenadiary.jp/'

#行頭文字
HEAD='#はてなブログ 過去記事>>'

#ファイル書き込み(文字列をそのまま書き込み)
def write_file_from_str(p_filename, p_mode, p_data):
    file = open(p_filename, p_mode, encoding=FILE_ENCODING)
    file.write(p_data)
    file.close()

#メイン処理

#出力ファイルがあったら削除
if os.path.exists(FILE_NAME_A):
    os.remove(FILE_NAME_A)
#データ空に
bmInfos = []
p = 1
while 1:
    #多分本当はINPUT_URLをエンコード? しないといけないと思うけど動いた
    readPage = "https://b.hatena.ne.jp/entrylist?url=" + INPUT_URL + "&sort=eid&page=" + str(p)
    #URL取得
    try:
        f = urllib.request.urlopen(readPage)
    except:
        print("html読み込めなんだ")
        break
    
    outputText = ''
    soup = bs4(f, "lxml")

    #エントリータイトルクラス取得
    ss = soup.findAll(class_='entrylist-contents-main')
    if ss == []:
        print("エントリーなし")
        break  
    for s in ss:
        #エントリーごとの処理
        #ノードのリンクタグ
        a = s.find('a', class_='js-keyboard-openable')
        #ノードの時間情報変換
        d = datetime.datetime.strptime(s.find('li', class_="entrylist-contents-date").get_text(), '%Y/%m/%d %H:%M')
        #ブクマ情報 ブクマカウント|日付|タイトル|URL
        bmInfo = {"bmCount": int(s.find('span', class_='').get_text(strip=True)), "date": int(d.strftime('%Y%m%d')), "title": a.get_text(strip=True), "url": a.get('href')}
        
        #データ追加
        bmInfos.append(bmInfo)   
    #次のページへ
    p = p + 1
#データをデーターベースっぽいのにする
df = pd.DataFrame(bmInfos)
#ソート ブクマ数降順、日付昇順
df = df.sort_values(['bmCount', 'date'], ascending=[False, True])
#いったん保存する
df.to_csv(FILE_NAME_A, index=False)
#700件読み込む
df_none_nrows = pd.read_csv(FILE_NAME_A, header=1, usecols=[1, 2, 3], nrows=700)
#出力ファイルがあったら削除
if os.path.exists(FILE_NAME_A):
    os.remove(FILE_NAME_A)
#ノードごとに書き込む
for  b in df_none_nrows.itertuples():
    write_file_from_str(FILE_NAME_A, 'a', HEAD + ' ' + b[2] + '/' + str(b[1]) + ' ' + b[3] + "\n")
print("終わり!")

出力

f:id:elve:20200302232219p:plain

(たぶん)よし!!

あ、タイトルにブログ名入って、文字数によっては切れる・・・まぁいいか(;´Д`)

出会いは、いつもIDコール

オッスオッス。オラだオラ。 なんかよくわからないっすね。エルベです。
昨日久しぶりにプログラム書いたらすごく楽しかったので、今度はブクマもらってる記事の一覧@ブクマ数付とか出そうかなぁとか企んでいます。それで厳選した700記事をbotにツイートしてもらおう。その前に現在登録した700件を1件ずつ削除しなくてはいけないのだがw ♪楽しいな。楽しいな。

id:c71さんにブクマされてIDコールの礼を言われたのでもう一度呼んでみるw c71さんくらい有名ならあちこちでIDコールされてるんじゃないの!? え、なんでわざわざ礼を言ってくるの!? 裏があるの!? 実は不快だったとか!? と、いろいろ考えてしまいました。
自分がいきなりIDコールされて、本題にあまり関係なかったら・・・どうだろうなぁ・・・やっぱりIDコールどーも、くらいしか言うことないかw
すんませんね、私はこういう絡み方しかできないwwww 無駄にはてなに長くいるタイプの人間です。不快じゃなければよろしくお願いいたします。

私はこのような駄文を「はてな」にUPし続ける、はてなの妖精です(真顔)w
テーマカラーは紫、性格は大雑把、病気は双極性障害と無呼吸症候群。自分に甘く他人に辛口。
脳みそにあることが口やら指先屋から溢れ出る性癖。今年っで43になりますが大人になるのは難しいですな。
16年前に結婚、9年前に離婚した元夫と6年前くらいから同居しております。今年は別居したいと思っております。

えっと、こちらがc71さんを認識したのは2016年・・・4年前・・・。
はしごたんがc71さんの言及が酷いって言った後に「言及してませんけど~?」な態度だったのが嫌だなあーと思った記憶があります。
後はよく知らないんだよなぁ。「~戦記」みたいな本書いてたから苦労してるんだなぁって思ったくらいかなぁ。今は記事消ししない素敵な人だー!! って感じです。

かつて私は「はしごたん」*1をヲチしてたのですが、今はもう、その気力もないのです。
距離を詰めても離れても、心配しても冷やかしても「はしごたん」は変わりませんでした。変えたいと願う己のエゴばかり見えて嫌になるのです。
そんな彼女を自らメンタルクリニックまで行かせるなんて、c71さんはすごいなぁ~。一刻も早く債務整理するように説得してください(´;ω;`)ウゥゥ

f:id:elve:20200302180626p:plain
あわせて読みたい」が濃すぎw

*1:あえてここはIDコールなしw

はてなブログの過去記事500件取得するよ

phpなんて何年ぶりに触るのか・・・そう、あの頃は、まだ、wordpressの日本語が分離してて・・・(昔話)
というわけで先日書いた「ツイート用過去記事のタイトルとURLの一覧出力 - スナックelve 本店」のphp版です。
環境作るの面倒でサーバーでデバッグしちゃった★←マネしないでください。
はてなブログの過去ログ取得するよ
f:id:elve:20200302004513p:plain
こちらに接頭語、URLを入れると500件取得できます★
f:id:elve:20200302004551p:plain

なーにやりたいことはもうわかってるから余裕余裕・・・と思ったら・・・大変でした・・・。

<?php
  $head=  $_POST["head"];
  $url = $_POST["url"] ;
  $outputText = '';
  $p = 1;
  $l = 0;
  while ('true') {
    $readPage = $url . "archive?page=" . (string)$p;
    #URL取得
    try {
      $f = file_get_contents($readPage);
    } catch (Exception $e) {
      break;
    }
    $dom = new DOMDocument;
    $dom->loadHTML(mb_convert_encoding($f, 'HTML-ENTITIES', 'UTF-8') );
    if ($dom==false){break;}
    $xpath = new DOMXPath($dom);
  
    $H1_nodes = $xpath->query('//a[@class="entry-title-link"]');
    $oldL=$l;
    foreach ($H1_nodes as $node) {
      if($l >= 500){break;}
      $outputText = $outputText . $head ." ". $node->nodeValue ." ". $node->getAttribute("href") . "</br>\n";
      $l++;
    }
    if($oldL==$l){break;}
    if($l >= 500){break;}
    $p = $p + 1;
  }
 
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>はてなブログの過去ログ取得したよ</title>
</head>
<body>
<?php  echo $outputText; ?>
</body>
</html>

というわけで、これに値を渡すフォームは

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>はてなブログの過去ログ取得するよ</title>
</head>
<body>
<form method="POST" action="HatenaAllPostList.php">
<label>最初に追加する言葉</label>
<input type="text" name="head" /><br />
<label>はてなブログのURL</label>
<input type="text" name="url" />
<input type="submit" value="送信" />
</form>
</body>
</html>

なーんも値チェックしてないからイジメないでください(;´Д`)
アクセス数があれだったら消すっすw