BeautifulSoupとPythonでiOSアプリ一覧からデータを取得した

宮本です。 Twitterはコチラ

はじめに

Appleサイトからアプリ情報を取得してみました。「ニュース」の人気APPのみ取得しています。

今回は単発で動かしており、定期的に取得する為のものではありません。

クローリングする際はご注意を。

参考サイト

iTunesプレビュー – ニュース

仕様

  • BeautifulSoupでサイトにアクセスして、必要な要素を取得

環境的なあれこれ

  • マシン:Mac
  • Python:2.7系
  • その他:BeautifulSoup

実装

python:app_iOS.py

# -*- coding: utf-8 -*-

import requests, lxml, urllib2
from bs4 import BeautifulSoup

URL = 'https://itunes.apple.com/jp/genre/ios-ニュース/id6009?mt=8'

html = urllib2.urlopen(URL)
soup = BeautifulSoup(html, 'lxml')

# get category
category = soup.find('h1').text.split('>')[1].strip()
basic_info = soup.find('div', id='selectedcontent')

for data in basic_info.select('a'):

    # get app url
    Detail_URL = data.get('href')

    # get app name
    app_name = data.text

    html = urllib2.urlopen(Detail_URL)
    soup = BeautifulSoup(html, 'lxml')

    # get company
    company = soup.find('a', class_='link').text
    # get icon url
    icon = soup.find('source').get('srcset').split(',')[0].split(' ')[0]

    print('Result : %s, %s, %s, %s' % (app_name, Detail_URL, company, icon))

結果

上記コード上では出力させているだけですが、外部リンク上では、一旦データベースに格納している状態です。

取得項目としては、アプリ名・詳細URL・カテゴリー・アイコン画像URLになります。

同じようにAndroidも取得できそう。

外部リンク

TABIREKI – iOSアプリ一覧