no title


import re
#pipインストール必須↓
import requests
from bs4 import BeautifulSoup

def pointCalc(URL):

r = requests.get(URL)

soup = BeautifulSoup(r.content, "html.parser")

script_json=soup.find('script',id='__NEXT_DATA__').string

tPoint=re.findall(r'(?<=\"totalReviewPoint\":)\d+',script_json)
rcount=re.findall(r'(?<=\"reviewCount\":)\d+',script_json)

return format(int(tPoint[-1])/int(rcount[0]),'.2f')

def URLs(URL):

r = requests.get(URL)

soup = BeautifulSoup(r.content, "html.parser")

script_json=soup.find('script',id='__NEXT_DATA__').string

result=re.findall(r'(?<=\"Work:)\d+',script_json)

results=(result[i] for i in range(20))

return ("https://kakuyomu.jp/works/"+str(ul) for ul in results)

def Titleget(URL):

r = requests.get(URL)

soup = BeautifulSoup(r.content, "html.parser")

json=soup.find('title').string

return json


def main():

#スタート地点の検索ページURL
startURL="https://kakuyomu.jp/search?order=weekly_ranking&serial_status=running&total_character_count_range=custom&total_character_count_min=700000&total_review_point_range=custom&total_review_point_min=100&total_review_point_max=2000"
#最大ページ数
page_max=38

for page in range(1,page_max+1):
URL=startURL+"&page="+str(page)
for ul in URLs(URL):
point=float(pointCalc(ul))
if point>=2.8: #平均評価の下限
print(Titleget(ul))
print(ul)
print(point)
print('\n')



#結果表示
main()
お知らせ
実務でも趣味でも役に立つ多機能Webツールサイト【無限ツールズ】で、日常をちょっと便利にしちゃいましょう!
無限ツールズ

 
writening