できた~(*´▽`*)
import os import urllib.request, urllib.error from bs4 import BeautifulSoup as bs4 #書き込みファイル FILE_NAME_A = r'ふるぱす\hatenaAllPostList.txt' #文字コード FILE_ENCODING = 'UTF-8' #文頭文章 HEAD_TEXT = r"#はてなブログ 過去記事です(*'▽')ノ<" #URL INPUT_URL = 'https://snack.elve.club/' #ファイル書き込み(文字列をそのまま書き込み) def write_file_from_str(p_filename, p_mode, p_data): file = open(p_filename, p_mode, encoding=FILE_ENCODING) file.write(p_data) file.close() #メイン処理 #出力ファイルがあったら削除 if os.path.exists(FILE_NAME_A): os.remove(FILE_NAME_A) p = 1 while 1: readPage = INPUT_URL + "archive?page=" + str(p) #URL取得 try: f = urllib.request.urlopen(readPage) except : break; outputText = '' soup = bs4(f) #エントリータイトルクラス取得 ss = soup.findAll(class_='entry-title') if ss == []: break; for s in ss: outputText = outputText + HEAD_TEXT + s.get_text(strip=True) + ' ' + s.find('a').get('href') + '\n' #1ページ分ファイル書き込み write_file_from_str(FILE_NAME_A, 'a', outputText) #次のページへ p = p + 1 print("終わり!")
参考にしたページ
【Python】BeautifulSoupの使い方・基本メソッド一覧|スクレイピング | Let's Hack Tech
Python3系でurllib2は使えない:代わりにurllib.requestとurllib.errorを使う - MathPython
【Python入門】foreachをPythonで使ってみよう | プログラミング教育ナビ
Python の for 文による繰返し - Python の制御文 - Python の基本 - Python 入門
10分で理解する Beautiful Soup - Qiita
改行コードの書き方!Pythonで改行をする方法【初心者向け】 | TechAcademyマガジン
[Python] 例外処理「try~except~else~finally」の使い方 | スタートアップIT企業社長のブログ
結果
900件以上出力があったのに登録できるの700件までだった(´;ω;`)ウゥゥ