はじめに
気になる企業がQiitaのOrganization一覧に登録されているか探す場合、1ページに表示される件数は最大20件で、全部で29ページ(※)あります。QiitaのOrganization一覧はデフォルトで「1週間の活動量」が高い順にソートされますが、さすがに1ページずつ見るのは大変なので、スクレイピングして会社名とQiitaのOrganizationのURLを取得するプログラムを作りました。
(※)本記事執筆時点
プログラム
- qiita_organizations.py
# ! /usr/bin/env python3
# -*- coding: utf-8 -*-
# スクレイピングに必要なモジュールをインポート
import urllib.request as req
import sys
sys.path.append('/home/pi/.local/lib/python3.5/site-packages/')
from bs4 import BeautifulSoup
import time
import re
num = 1
# Organization一覧のurlを取得する関数
def urlget():
url = "https://qiita.com/organizations?page="
res = req.urlopen(url+str(num))
data = res.read()
text = data.decode("utf-8")
soup = BeautifulSoup(text, "lxml")
org = soup.find_all(href=re.compile(r"^/organizations/"))
for list in org:
co = list.string
href = list.attrs["href"]
if co != None:
print(co, "," "https://qiita.com"+href)
# 最後のページまでループ
while num < 30:
urlget()
num += 1
time.sleep(1)
使い方
環境:Linux
- 標準出力
# python3 qiita_organizations.py
ShouldBee ,https://qiita.com/organizations/shouldbee
株式会社インフィニットループ ,https://qiita.com/organizations/infiniteloop
IoTLT ,https://qiita.com/organizations/iotlt
インフラ勉強会 ,https://qiita.com/organizations/infra-workshop
アイレット株式会社(cloudpack) ,https://qiita.com/organizations/cloudpack
株式会社Mewcket ,https://qiita.com/organizations/mewcket
株式会社ベーシック ,https://qiita.com/organizations/basicinc
リコーITソリューションズ株式会社 ,https://qiita.com/organizations/jrits
株式会社Fusic ,https://qiita.com/organizations/fusic
ウォーターセル株式会社 ,https://qiita.com/organizations/water-cell
株式会社ゆめみ ,https://qiita.com/organizations/yumemi
TIS株式会社 ,https://qiita.com/organizations/tis
株式会社エアークローゼット(airCloset) ,https://qiita.com/organizations/aircloset
RHEMS技術研究室 ,https://qiita.com/organizations/rhems-japan
ALIS Co., Ltd. ,https://qiita.com/organizations/alis
株式会社サイバーエージェント ,https://qiita.com/organizations/cyberagent
株式会社グロービス ,https://qiita.com/organizations/globis
株式会社ミライトデザイン ,https://qiita.com/organizations/miraito-inc
ピクシブ株式会社 ,https://qiita.com/organizations/pixiv
株式会社ムラサメ研究所 ,https://qiita.com/organizations/murasame
- CSVファイルに保存
# python3 qiita_organizations.py > qiita_organizations.csv
プログラム内でわざわざcsvモジュールをインポートしなくても、リダイレクトすれば簡単です。
- 作成されたファイルを確認
# wc -l qiita_organizations.csv
572 qiita_organizations.csv
(1ページ20件 * 28ページ) + 29ページの12件で、572企業(※)が登録されているので、ピッタシです。
(※)本記事執筆時点
さいごに
Qiita公式ブログ(2018/8/28)でもちょうどタイムリーな話題になっていたましたが、QiitaのOrganizationの登録申請が増えているようです。
どのような会社なのか判断材料として、QiitaのOrganization一覧はいいですね。
就職活動中の学生、転職活動中のエンジニアにどうぞ。
Gitはこちら。