no-image

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

スクレイピング初心者ですが、どのような意図があってこういう技術がでてきてかはわかりません。ただ、このスクリプトを学んでいくと副産物?という言い方はおかしいかもしれませんが、情報収集の効率があがります。

ただ収集された情報からお気に入りをみつけるのは人間です。

もしかしたらそれすらもプログラムがやってくれるのでしょうか?・・・。

pythonでquiitaをスクレイピングする。

quiitaをwebスクレイピングするコード

一応コードだけのせておきます。

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とbs4モジュールを使って、webスクレイピングしています。ポイントはquittaのurlの最後にpage番号を指定することで、そのページの要素をどんどん取得できることです。(このコードでは50ページ分スクレイピングします。)

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

スクレイピングしておもしろそうだった記事

個人的にお気に入りを数点選んでいきたいと思います。

お気に入りを5点ほど選んでみました。

機械学習系の記事もありますが、わたしは初心者ですので理解できるものは少ないです。でもなんかおもしろそうだと思ったものを選んでみました。基本事項をきちんとまとめた良記事もありました。

今回はqiitaからの情報収集でしたが色々なことに使えるでしょう。

条件分岐構文などやりたいことを自由自在にコードに書けるようになれば、好きなデータをとってくることができるでしょう。