5ch – カテゴリーURL取得

  • 目的
    • 5chのカテゴリーURLを取得して中の記事を取得する
      • 中の記事はまだ取れてない(今後の課題)
  • 結論
    • 以下のスクリプトを実行するとカテゴリー名とカテゴリーURLのjsonファイルが出力される
  • 実行するスクリプト
    
    #!/usr/bin/python
    # -*- coding: utf-8 -*-
    
    import requests
    import json
    
    # 5chのトップのURLを指定
    URL = 'https://www2.5ch.net/5ch.html'
    
    # 一時ファイルの出力先パス
    FILE_OUTPUT_PATH = '!!パスを指定'
    
    # jsonファイルの出力先
    OUTPUT_FILE_PATH = '!!パスを指定'
    
    # 取得結果を出力する辞書配列を定義
    result = {}
    
    # post getでトップページの情報を取得する
    response = requests.get(URL)
    response_list = response.text
    
    # 一旦ファイルを書き出す
    # f = open(FILE_OUTPUT_PATH, 'w')
    # f.write(response_list)
    # f.close()
    
    # 書き出したファイルを読み込んで1行ずつ処理する
    with open(FILE_OUTPUT_PATH) as read_file:
        for data in read_file:
            # dataの例
            # ノートPC
    # URL部分以外の場合はcontinueする if 'A HREF' not in data: continue # URL部分の場合 # カテゴリーの名前を取得する category_name = data.split('>')[1].split('<')[0] # 例 # バスケット # テニス # バレーボール # URL部分だけ取得する cotegory_url = data.split('"')[1] # 例 # https://rio2016.5ch.net/kokusai/ # 辞書配列に入れる result[category_name] = cotegory_url with open(OUTPUT_FILE_PATH, 'w') as f: json.dump(result, f, indent=2, ensure_ascii=False) # カテゴリーURLごとに処理する # TODO 後ほどやる
  • 実行結果
    {
    "5chの入り口": "https://www.5ch.net/",
    "5ch総合案内": "https://info.5ch.net/",
    "5chプレミアム浪人": "https://premium.5ch.net/",
    "検索": "https://find.5ch.net/",
    "超スレタイ検索": "https://dig.5ch.net/",
    "5ch投稿数": "https://stat.5ch.net/SPARROW",
    "お絵描き観測所": "https://o.5ch.net/",
    "スマホメニュー": "https://itest.5ch.net/",
    "過去ログ倉庫": "https://www.5ch.net/kakolog.html",
    "地震headline": "https://headline.5ch.net/bbynamazu/",
    "地震速報": "https://egg.5ch.net/namazuplus/",
    "臨時地震": "https://mao.5ch.net/eq/",
    "臨時地震+": "https://sora.5ch.net/eqplus/",
    "緊急自然災害": "https://rio2016.5ch.net/lifeline/",
    "プロ野球": "https://rio2016.5ch.net/base/",
    "海外サッカー": "https://kizuna.5ch.net/football/",
    "国内サッカー": "https://kizuna.5ch.net/soccer/",
    "日本代表蹴球": "https://mevius.5ch.net/eleven/",
    "ニュース速報+": "https://asahi.5ch.net/newsplus/",
    "芸スポ速報+": "https://hayabusa9.5ch.net/mnewsplus/"
    ~~~~~~~~~
    }
python
スポンサーリンク
K・B・S
タイトルとURLをコピーしました