紫色のつぶやき

どうせそんな悩みは1年後にはどうでもよくなってる

ネットサーフィンがはかどる!Webクリップのリンク一覧をランダムな順番で出力

何を消費するにも時間が不足している現代社会、Webクリップもその例外ではありません。
今回はWebクリップのリンク一覧htmlで吐き出し→Pythonで出力し順番をランダムにして並べ替えたいと思います。

きっかけ

本も録画番組もゲームも溜まっている私。Web記事も例外ではありません。はてブの「後で読む」タグにもWebクリップサービス、Pocketにも1000以上の記事が溜まっています。 積読ならぬ積記事です。

全てを読めないにしてもせめて読む努力はしたい。 そんな気持ちからPocketやはてブを開くと困ることが。

新しい記事が上に来る、過去にさかのぼるにはひたすらスクロールしなければならない

新しい記事しか見当たりません。。。
Pocketの方はソートをすることができますがOldest first かnewest firstしかありません。記事が1000もあるとPocketは下まで永遠にスクロール。はてブの方は次へボタンを押しまくることになります。

そんなことまでして昔の記事を読みには行かないでしょう。

そうなると以下のようなことを思うわけです。
自分が保存しておいた記事から適当にランダムな記事を選び出してくれないかなあ? しかもPocketとはてブの区別なく。

残念ながらそういったニッチなサービスはありません。しかし記事一覧をhtml形式で吐き出すことが、はてブでもPocketでもできるようです。
であればそのhtmlを解析→タイトルとURLを取得→ランダムに並び替えてcsvかなんかに張り付け→やりたいこと実現! の流れになりそう。

Pythonで書けそうであったのでやってみました。

まずはhtmlファイルの出力

Pocket

下記ページから行けます

Pocket: Log In

Pocketのエクスポート

はてブ

こちらは下記ページのデータ管理→エクスポート、から ブックマーク形式で問題ありません

ログイン - はてな

出力結果

こんな感じになりました。まさしく私の欲しかったものそのものです。
記事数は2400も行ってますか。。気になったものを読んでいこう。

CSVだとできないけどxlsx形式にしてhyperlink関数を使えばハイパーリンクになるよ。
これでクリックするだけで記事にも飛べて非常に便利!
一覧もずいぶんコンパクトになったので気になる記事をクリック!

積記事の出力結果

ソースコード

htmlファイルを出力したらローカルの適当な場所に入れてプログラムを実行します。

#-------
from bs4 import BeautifulSoup
import bs4
import requests
import csv
import random

def Pocket():

    #------------------------Pocket---------------------
    # ローカルファイルのhtmlから読み込む
    load_url = r"C:\Users\xxxx\xxxx\yyy.Pocket.html" #htmlファイルの場所

    #htmlを解析
    soup = bs4.BeautifulSoup(open(load_url, encoding="utf-8"), 'html.parser')

    links = soup.find_all('li') # 全てのタグ要素を取得,Pocketとはてなでタグが違うので分ける
    atags = soup.find_all('a') # 全てのタグ要素を取得

    li_list = [] # 配列を作成
    ataglist = [] # 配列を作成

    i=0
    for link in links:    # その中のliタグの文字列を表示
        sample_txt = link.text
        li_list.append(sample_txt)
        i+=1

    for atag in atags:    # その中のaタグのhrefを表示、リンクの部分
        atag_txt = atag.get('href')
        ataglist.append(atag_txt)

    #ランダム配列の作成
    my_list = list(range(0, i))
    my_list_shuffled = random.sample(my_list, len(my_list))

    #ランダム配列合成
    m=n=o=0
    rlist = [[0 for m in range(2)] for n in range(i)]

    #2つ毎の配列[タイトル,URL]に変更する
    for o in my_list_shuffled:
        t=my_list_shuffled[o]
        rlist[o][1]=ataglist[o]
        rlist[o][0]=li_list[o]

    #-------------------------はてブ--------------------
    # ローカルファイルのhtmlから読み込む
    load_urlHatena = r"C:\Users\xxxx\xxxx\zzz.bookmarks.html" #htmlファイルの場所
    soupHatena = bs4.BeautifulSoup(open(load_urlHatena, encoding="utf-8"), 'html.parser')

    linksHatena = soupHatena.find_all('a') # 全てのタグ要素を取得,Pocketとはてなでタグが違うので分ける
    atagsHatena = soupHatena.find_all('a') # 全てのタグ要素を取得

    li_listHatena = [] # 配列を作成
    ataglistHatena = [] # 配列を作成

    j=0
    for link in linksHatena:    # その中のliタグの文字列を表示
        sample_txtHatena = link.text
        li_listHatena.append(sample_txtHatena)
        j+=1

    for atag in atagsHatena:    # その中のaタグのhrefを表示、リンクの部分
        atag_txtHatena = atag.get('href')
        ataglistHatena.append(atag_txtHatena)


    #----------------ランダム配列の作成-----------------------------
    my_listHatena = list(range(0, j))
    my_list_shuffledHatena = random.sample(my_listHatena, len(my_listHatena))

    #ランダム配列合成
    m=n=o=0
    rlistHatena = [[0 for m in range(2)] for n in range(j)]

    #2つ毎の配列[タイトル,URL]に変更する
    for o in my_list_shuffledHatena:
        rlistHatena[o][1]=ataglistHatena[o]
        rlistHatena[o][0]=li_listHatena[o]

    #---------------------------------------------
    #ここからランダム化
    listMarge = [] # 配列を作成
    listMarge.extend(rlist)
    listMarge.extend(rlistHatena)

    print(len(listMarge))
    rlist_shuffled = random.sample(listMarge, len(listMarge))

    #utf_8_sigで書けばエンコードできる,csvは書き込みモード
    f = open("output.csv", mode="w", newline="", encoding='utf_8_sig')

    writer = csv.writer(f)
    for data in rlist_shuffled:
        writer.writerow(data)
    f.close()

Pocket() #メイン関数
#-------

さよならSoftbank Air 、楽天ひかりで料金も速度も改善!

 
2年間使用したSoftbank Airを解約しました
 

Softbank Airを使っていた経緯

 

www.purple-tweet.com

 

以前の住宅で光回線が引けず、Softbank Airを導入
→まあ不便ではあったけど仕方なしに使用
→引っ越しも楽なのでSoftbank Airをそのまま持って来た
→ちょうど使用から2年、契約更新月+来月から割引がなくなり1000円値上げ
ということで乗り換えを検討しました。
 

キャッシュバックを得られた時の喜び

Softbank Airと言えば代理店を通じて申し込んだときのキャッシュバックですよねえ。

モバレコAirを通じて申し込んだのですが、とにかくキャッシュバックが難解ということで有名でした。
・使用開始してから10か月目に申し込み(忘れそう)
・料金明細を印刷してFAXで送付。
なんていうわざわざめんどくさい手続きを経て、25000円ものキャッシュバックを得られた時は快感でしたね~
 

楽天ひかりに乗り換え

関西圏に来てから楽天経済圏に変更中なので楽天ひかり
今はキャンペーンは終了してしまったけど、私が申し込んだときは楽天モバイルと一緒に契約して1年間無料です!
 
料金比較

もともとSoftbank Airは普通のマンションタイプ光回線より高いです。遅いくせに!

キャッシュバックやら工事やらいろいろあったので考えうる3年間の料金を比較してみました。

昔の携帯やスマホみたいに2年間で光回線を渡り歩くのがひょっとしたらいいのかもしれないですね。この3年間のトータルだけで見れば今乗り換えるのが一番お得。

これからの月額料金も楽天ひかりが安いので結果的に正解でしょう!

乗り換えが安く見えるのは楽天ひかりが1年間無料だから
速度比較

懐かしい記事が出てきた。Softbank Airの回線速度を測定し続けたもの。

夜になると絶対速度下げられてたんだよなあ。。

 

www.purple-tweet.com

 

 

左:Softbank Air 右:楽天ひかり
 
こういう時に限ってAirも早い速度出してくるんだよなあ
でも違いは歴然。特にアップロード速度ですよ。あのスマホで撮影した写真をクラウドにアップロードする時間の遅さたるや。。
 
ダウンロードの速度もやっぱり大容量のデータをダウンロードする時は重要。
Steamでゲームを購入したのにDLに5時間もかかってせっかくのゲームがプレイできないあのイライラ。
防水タブレットでお風呂で動画を見ようとしても回線が遅くて再生されないあのイライラ。
 
これらが解消されたのは非常に大きいですね。
 

端末の処分

最後に使わなくなったSoftbank Airは捨てなきゃですね。燃えないゴミでしょう。
(端末は購入したものです。レンタルの人は返却しましょう。)
 

無力になったAirターミナル
10年間も使った無線LANルーターIPv6などもちろん未対応なので捨てです。
どちらもメルカリでの価値は1000円程度のようだ。。だって使い道ないもん。
 
ということで夢の光回線を手に入れました。
これから快適なインターネットライフを楽しみたいです!
 

結婚式に疲弊、自分だけの楽しみもきっとある

 
 
友人の結婚式に参加してきました。
関西ー東京への移動は疲れる(GWの混雑にも巻き込まれるし。。)
 
最近は本当に結婚式が多い。3か月に1回くらいあるんじゃないか?私の中では非常に多いペース、来月もあるし。。
 
今までは単純に友人の結婚する姿を見て単純に「幸せそうだなあ」とか「おめでとう!」という気持ちになっていたが今回はなんだか疲れてしまった。
 

結婚式に対するスタンスの移り変わり

結論から言うと疲れと焦りから心から楽しむことはちょっと難しかった。
自分自身の疲れと焦りからいい状態で臨むことができなかったからかな?ちょっと反省
 
体力的な疲れ
休日朝早くから新幹線に乗り結婚式、披露宴の参加。GWの人ごみの中移動するのはなかなか大変だ。
20代の頃と比較して体力は明らかに落ちている気がする
 
酒の疲れ
酒の耐性も20代より落ちている。明らかに量が飲めなくなったし、飲んでもすぐ酔うようになってしまった。
 
焦り
今までは焦ることなんてなかったが最近はいろいろ揺れていた。
ちょうどこの2,3日前にSNSにてTwitterの激しいTLや白饅頭の記事を一気読みしたことによりかなり心情的にも疲れていた。
気持ちを落ち着けようと深夜にブログを書いたほどだ。
 
婚活、マッチングアプリをすべて辞めて1年以上、私も揺れ動き始めたのかもしれない。
 
 
結婚式という名の異質な空間
結婚式という場ほど「結婚」という行事を肯定するものもないだろう。
私は結婚式において親戚の子供が新郎新婦が並んでいる所に指輪とか花を持っていくシーンがどうしても好きになれない。
普段「独身でいい」とか「子供はいらない」なんて言っている自分のすべてが否定されている気持ちになるからだ。
全然知らない他人に対してならいくらでも言えるが出席しているのは知人の結婚式だ。
友人を祝いたいという気持ちもありながら、私自身が結婚したくないという思いと相まってなんとも複雑な気持ちになり、それが異常に疲れる。
 
自分の生き方の軸を持てずにいる焦り
共通の友人の結婚式に何回も出席すれば、必然的に結婚していない私は少数派になっていく。
私は「婚活はやめる」「子供は欲しくない」などと言ってはいるものの、それに代わる何かを見つけ出せてはいない。
それは「生き方の軸」、「志」、「Vision」、といったものであったり、あるいは「一生を捧げる趣味」「365日寝食を忘れて打ち込める仕事」といったものかもしれない。
 
何者かになれない人が大多数の世の中だからこそ、夫婦2人で支え合ったり、誰かの親になることが大切な世の中なのだ。
 
それにより生きている実感を得ている人は多いと思う。
今回の結婚式は自分自身の価値観を確立できていない中で、いわば他人の「結婚は素晴らしい」という価値観を押し付けられる形になっているのだ。
これを払しょくするには自分はこう生きる、という価値観の確立が大切になっていく。ここは急ぎ課題としていきたい。
 

流されて生きて幸せになれるほど甘い世の中ではない、が絶望でもない

20代のころは周りに流されてノリで生きていればなんとなく楽しかったのかもしれない。
だが徐々に自分の周りでも自らの価値観を持って人生の選択を行う人が出てくる。
 
自分が人生において何を大切にするのか、何に幸福を感じるのか、そういったことを自分で考えていかないと他人に流されて消耗していく人生になっていくだろう。
このようなことは自己啓発本にはいくらでも書いてあるが、いざ自分の身に降りかからないと実感しないもんなんだな。新しい発見ができてよかった。
 
流されて生きて幸せになれるほど甘くはないが、流されなければ絶望するほどつまらない人生でもないはずだ。
友人の結婚式を心から祝うためにはまず自分自身が楽しい人生を生きることが大事。
自分だけの楽しみを見つけていきたいね。