LoginSignup
4
5

More than 5 years have passed since last update.

QiitaのOrganization一覧をスクレイピングで取得する

Last updated at Posted at 2018-08-29

はじめに

気になる企業がQiitaのOrganization一覧に登録されているか探す場合、1ページに表示される件数は最大20件で、全部で29ページ(※)あります。QiitaのOrganization一覧はデフォルトで「1週間の活動量」が高い順にソートされますが、さすがに1ページずつ見るのは大変なので、スクレイピングして会社名とQiitaのOrganizationのURLを取得するプログラムを作りました。

スクリーンショット 2018-08-29 00.43.08.png

(※)本記事執筆時点

プログラム

  • 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はこちら。

4
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
5