Pythonを使ってQiitaのページをスクレイピングする

スポンサーリンク

QiitaのページをスクレイピングするPythonコード

以下のコードはQiitaの各ページにあるタイトルとリンクをスクレイピングするコードです。

import requests, bs4
#Qiita python記事のタイトルとリンクを取得。 -Qiita取得.py
#page番号を生成
qiita_page = []
for i in range(1,50):
    page = '?page={}'.format(str(i))
    qiita_page.append(page)

count = 1
qiita = 'https://qiita.com'
#requests.getを二重ループする
for page in qiita_page:
    if page == '?page=1':
        continue
    res = requests.get('https://qiita.com/tags/PhantomJS/items' + page)
    res.raise_for_status()
    soup = bs4.BeautifulSoup(res.text)
    elems = soup.select('.ItemLink__title')
    elems_a = soup.select('.u-link-no-underline')
    #elems_a = soup.select('li > a')
    print(str(count) + 'ページ目を表示します')
    print('\n')
    for i in range(len(elems)):
        print(str(count)  + '---' + elems[i].text) 
        print(qiita + elems_a[i].get('href'))
        print('\n')
        count += 1

このコードはrequestsモジュールとBeautiful Soup (bs4)を使って、スクレイピングしています。ポイントはQiitaのurlの最後にpage番号を指定することで、各ページの要素をどんどん取得できることです。(このコードでは50ページ分スクレイピングします。)

要素としてはタイトルとリンクを取得しています。これ以上の解説は長くなるので省略します。

スポンサーリンク

Qiitaのページをスクレイピングして最新技術を見つける

Qiitaのページをスクレイピングすると自分が知らない最新技術やおもしろそうな技術を発見できるかもしれません。今回はQiitaのページをスクレイピングしておもしろそうな記事をリストアップしてみました。

ファイル操作でよく使うモジュール
https://qiita.com/meznat/items/30f2be15450ecd9d503f

日没頃に自動で100均イルミネーションをつけてみるhttps://qiita.com/mitazet/items/195891220306728cbad5

のび太と学ぶ「機械学習」【第3話】完成:FX予測プログラム(線形回帰版)https://qiita.com/sugulu/items/5c1b03cd445f27fd3e28

【Python】スクレイピング→データ収集→整形→分析までの流れを初心者向けにまとめておく ~Pythonに関するはてな記事を10年分スクレイピングし、Pythonトレンド分析を実際にやってみた~
https://qiita.com/kkdmgs110/items/954267e168233ee3028e

Python日付型
https://qiita.com/motoki1990/items/8275dbe02d5fd5fa6d2d

今回はQiitaサイトに限定していますが、たとえば自分の好きなサイトの記事を一覧で大量にリストアップしたい場合にスクレイピングを使うこともできます。より詳細は条件を指定することで自分の取得したいデータをとってくることができると思います。

コメント

タイトルとURLをコピーしました