歩いたら休め

なんでこんな模様をしているのですか?

スクレイピング

【node.js】文字コードを推定してurlからタイトルを取得する

最近、以前Pythonで実装したクローラーをnode.jsに移行しようとしています。将来的にpuppeteerを使ったスクレイピングが必要になったときにnode.jsで詰まりたくないのと、Promiseやasync/awaitを使ったプログラミングのサンプルとして遊んでみたかったのがそ…

【Python】pyppeteerでのクローリング時に別ドメインのCSSを読み込む

pyppeteerを使ってクローリングする際、「JSを実行して値を取り出す」ため、セキュリティのための制限にひっかかることが割とあるようです。 私の場合、CSSの情報を取り出す際に、以下の問題に引っかかりました。 > document.styleSheets[0].cssRules VM5262…

【Python】pyppeteerを非同期コンテクストマネージャー用のクラスでラップして遊ぶ

Pythonから簡単にHeadless Chromeを利用できるpyppeteerというライブラリがあります。Headless Chromeの操作をラップしてくれてかなり便利なのですが、ほとんどの関数やメソッドが非同期(async)nあので、しばらく遊んでasync/awaitを使った実装に慣れる必要…

【プログラム】Google Apps Scriptで簡単にSlackニュース通知を作るスクリプトを書きました

社会人になって数年も経つと、オタク趣味を続けるのも大変になってきました。 以前はいくらでも音楽の情報を追って遊んでられていたのですが、そこそこ真面目にプログラマーやろうとすると「あのグループって今は活動してるんだっけ?」とか「知らないうちに…

【Ruby】HTMLをYAMLに変換して他サイトの改修をチェックする (ver2)

「スクレイピングで他サイトの改修をチェックして自社サイトの参考にしよう」という上司の無茶振り要望に応えてあげようキャンペーン第二弾です。 kiito.hatenablog.com 前回のコードを回して、一応改修箇所は検知できていたようですが、正直全然使い物にな…

【Python】Selenium + PhantomJSでPythonからブラウザ画面のスクリーンショットを撮る

WEBサイトの改修を検知するプログラムがそれなりにうまくいきそうなのですが、改修があったときにyamlの文字列を見てもピンと来ません。 kiito.hatenablog.com というわけで、PythonからSeleniumを介してPhantomJSを動作させ、 スクリーンショットを撮ること…

【R】weblioの住宅用語辞典をスクレイピングして住宅関連の単語のcsvを作る

自然言語処理をやっている人はよく辞書の整備が大変だと言います。 そんな話をしていたところ、「自分が詳しくない分野の言葉を知るときはweblio辞書が便利だよ」という知見を教えてもらいました。 www.weblio.jp しかし、私は怠惰なプログラマーなので、ス…

【Python】他サイトの改修頻度をチェックするためにHTMLをYAML(っぽい何か)に変換するためのコマンドラインツールを書きました

上司から「サイトがマメに更新されてると、Googleの検索エンジンからの評価が上がるらしいんだけどさぁ、 他サイトの更新頻度をチェックしたり簡単に比較する方法ない?」というふんわりした話題がありました。 単純に考えると、サイトのHTMLを定期的にスク…

【Python】駿河屋の商品一覧ページをスクレイピングするためのライブラリを作りました

アニメグッズやゲーム等、中古商品を取り扱う駿河屋の一覧ページをいい感じに取得するためのライブラリを作りました。 github.com というのも、駿河屋には新着商品チェック機能が(ひととおり探した限りでは)無く、「新着入荷した同人CDをチェックしたい」…

【Python】不動産ニュースを自動投稿するTwitterアカウント( @fds_info )を作りました

ここ最近スクレイピングで遊んで手に入れたスキルを活かして、不動産業界のニュースを通知するTwitterアカウント不動産情報共有( @fdj_info )を作りました。 当アカウントは以下のロジックで不動産ニュースを自動通知します。1. FDJ社のニュースブログ( http…

【Python】Web上にあるpdfのタイトルを取得する(中間報告)

不動産のことよくわかんねーって言ってる友だちがいたので、簡単なスクレイピングのプログラムを書いて、不動産の情報収集を日々行っています。 「urlを集め、htmlの<title>タグの中身(つまりページのタイトル)と一緒に表示する」というロジックです。htmlのparse</title>…

【Python】はてなキーワードAPIを使って特徴語を抽出する

最近、スクレイピングで記事を集めることにハマっているのですが、その記事の中に含まれるトピックなり特徴語なりを簡単にチェックする方法はないかと悩んでました。 例えば、音楽ナタリーから好きなバンドの記事を集めてくる際には、関連リンクのタグを取っ…

【Python】最近Twitterを見る暇がないので、Twitterのリストから最新ニュースのurlを簡単に取ってくるライブラリ(らしきもの)を作った

就職して1年も経つと多少は忙しくなってしまいます。つまり、しっかりと意識して自分自身の勉強や趣味の時間を確保する必要があります。 そのため、Twitterについても今までのようにだらだらとタイムラインを眺めるような使い方はできなくなり、 Twitter業務…

【Python】誰か慶應大三田キャンパスで行われる『PythonによるWebスクレイピング講習会』に参加して発表資料を共有してくれ

同期から共有してもらったのですが、『PythonによるWebスクレイピング講習会』というイベントが10/13(火)・10/19(月)に開催されるそうです。 [講習会]PythonによるWebスクレイピング講習会(要申込・全2回)を、10/13(火)・10/19(月)16:30~19…

【Python】Yahoo!天気をクロールして東京の過去のお天気データを取れました

これの続きです kiito.hatenablog.com import csv import time import urllib.request from bs4 import BeautifulSoup # 年月日を作成 years = range(2010,2016) months = range(1,13) days = range(1,32) dates = [[c,m,d] for c in years for m in months …