Done Crawing

This commit is contained in:
Ian Shih
2023-06-14 11:44:43 +08:00
parent 7ef014f655
commit 5a69a9be16
48 changed files with 127154 additions and 0 deletions

1
.gitignore vendored Normal file
View File

@@ -0,0 +1 @@
test*

2891
data/1.html Normal file

File diff suppressed because it is too large Load Diff

2909
data/10.html Normal file

File diff suppressed because it is too large Load Diff

2861
data/11.html Normal file

File diff suppressed because it is too large Load Diff

2845
data/12.html Normal file

File diff suppressed because it is too large Load Diff

2869
data/13.html Normal file

File diff suppressed because it is too large Load Diff

2831
data/14.html Normal file

File diff suppressed because it is too large Load Diff

2883
data/15.html Normal file

File diff suppressed because it is too large Load Diff

2867
data/16.html Normal file

File diff suppressed because it is too large Load Diff

2836
data/17.html Normal file

File diff suppressed because it is too large Load Diff

2837
data/18.html Normal file

File diff suppressed because it is too large Load Diff

2809
data/19.html Normal file

File diff suppressed because it is too large Load Diff

2905
data/2.html Normal file

File diff suppressed because it is too large Load Diff

2812
data/20.html Normal file

File diff suppressed because it is too large Load Diff

2832
data/21.html Normal file

File diff suppressed because it is too large Load Diff

2846
data/22.html Normal file

File diff suppressed because it is too large Load Diff

2834
data/23.html Normal file

File diff suppressed because it is too large Load Diff

2859
data/24.html Normal file

File diff suppressed because it is too large Load Diff

2824
data/25.html Normal file

File diff suppressed because it is too large Load Diff

2817
data/26.html Normal file

File diff suppressed because it is too large Load Diff

2820
data/27.html Normal file

File diff suppressed because it is too large Load Diff

2823
data/28.html Normal file

File diff suppressed because it is too large Load Diff

2814
data/29.html Normal file

File diff suppressed because it is too large Load Diff

2897
data/3.html Normal file

File diff suppressed because it is too large Load Diff

2812
data/30.html Normal file

File diff suppressed because it is too large Load Diff

2773
data/31.html Normal file

File diff suppressed because it is too large Load Diff

2825
data/32.html Normal file

File diff suppressed because it is too large Load Diff

2791
data/33.html Normal file

File diff suppressed because it is too large Load Diff

2793
data/34.html Normal file

File diff suppressed because it is too large Load Diff

2800
data/35.html Normal file

File diff suppressed because it is too large Load Diff

2794
data/36.html Normal file

File diff suppressed because it is too large Load Diff

2810
data/37.html Normal file

File diff suppressed because it is too large Load Diff

2789
data/38.html Normal file

File diff suppressed because it is too large Load Diff

2757
data/39.html Normal file

File diff suppressed because it is too large Load Diff

2929
data/4.html Normal file

File diff suppressed because it is too large Load Diff

2727
data/40.html Normal file

File diff suppressed because it is too large Load Diff

2885
data/5.html Normal file

File diff suppressed because it is too large Load Diff

2913
data/6.html Normal file

File diff suppressed because it is too large Load Diff

2893
data/7.html Normal file

File diff suppressed because it is too large Load Diff

2860
data/8.html Normal file

File diff suppressed because it is too large Load Diff

2894
data/9.html Normal file

File diff suppressed because it is too large Load Diff

170
fail.log Normal file
View File

@@ -0,0 +1,170 @@
/user/C85DEA9C8F04CDE7_9f25dd
/user/E17242FA0A1578B4_922114
/user/1B4676523A3C1D54_a18f2d
/user/76C5708DF1B35C98_2d0d84
/user/4584C4980A15B70B_637e05
/user/4A08B642B1EDE169_96779c
/user/578708D307926FBA_2c42ef
/user/0C18CBEF4F95E986_640675
/user/903D40400A6ADDB2_1c78ea
/user/PeachyMilkTea_c96d8e
/user/50034B9E891FE505_2f52ed
/user/88D8E1DD39801AA5_b97ab5
/user/E3FAFD2D8BE2BEED_95e8f1
/user/EE8606483914CD34_57fed6
/user/BE7FA80F9F5495A7_442061
/user/34486EBB81708CD9_fad1d4
/user/C45097AC680D4C5A_496a29
/user/25F77594C4DC505E_a39c6b
/user/501795EF8BD71922_5f2a4f
/user/B7005921D8B9E652_64fcef
/user/F3798CC8336660D1_d762d5
/user/0C18CBEF4F95E986_640675
/user/DB6151257E12F5FA_31007b
/user/04562EE962A75BB6_59fd40
/user/D5FB240E2B996466_631091
/user/81E8F4D2DDD66309_19eaf6
/user/B21F9733FE79610A_a2ce5d
/user/4BDF4A2D15D650FC_f58200
/user/F4E0F4F1F84C5AF5_b6549f
/user/22A3D45804D5AC20_ce216d
/user/2B4CC834D500CA58_1684fd
/user/49C8672203E69623_2bdee9
/user/8D9E9C6CA22E2C7A_c03a07
/user/C85DEA9C8F04CDE7_9f25dd
/user/E17242FA0A1578B4_922114
/user/1B4676523A3C1D54_a18f2d
/user/76C5708DF1B35C98_2d0d84
/user/4584C4980A15B70B_637e05
/user/4A08B642B1EDE169_96779c
/user/578708D307926FBA_2c42ef
/user/0C18CBEF4F95E986_640675
/user/903D40400A6ADDB2_1c78ea
/user/PeachyMilkTea_c96d8e
/user/50034B9E891FE505_2f52ed
/user/88D8E1DD39801AA5_b97ab5
/user/E3FAFD2D8BE2BEED_95e8f1
/user/EE8606483914CD34_57fed6
/user/BE7FA80F9F5495A7_442061
/user/34486EBB81708CD9_fad1d4
/user/C45097AC680D4C5A_496a29
/user/25F77594C4DC505E_a39c6b
/user/501795EF8BD71922_5f2a4f
/user/B7005921D8B9E652_64fcef
/user/F3798CC8336660D1_d762d5
/user/DB6151257E12F5FA_31007b
/user/04562EE962A75BB6_59fd40
/user/D5FB240E2B996466_631091
/user/81E8F4D2DDD66309_19eaf6
/user/B21F9733FE79610A_a2ce5d
/user/4BDF4A2D15D650FC_f58200
/user/F4E0F4F1F84C5AF5_b6549f
/user/22A3D45804D5AC20_ce216d
/user/2B4CC834D500CA58_1684fd
/user/49C8672203E69623_2bdee9
/user/8D9E9C6CA22E2C7A_c03a07
/user/EF1193AB6B4D3EA2_ddb7ff
/user/DF3669B70598D80A_855a32
/user/D3C23659C76E8D81_d8b095
/user/E285BF5A72A97C55_f5ca94
/user/3AC5780067677EBE_af8712
/user/B0B1F172438B7F38_05a5a2
/user/96C628675D264BF7_25f023
/user/660815695F821A50_91d950
/user/49016DC294B5ED48_16c8b4
/user/6934E8ECF4DF5FF8_55010a
/user/5896F14735294137_133d5c
/user/C34CF94545FACC74_d9ddb8
/user/7D50925FAACDF2BC_b62dde
/user/850F3F628B726535_e18f2f
/user/B45B0147B6C69079_27f675
/user/ADD11B2E88BA16EE_57ccf6
/user/98D8CDA753682405_f78b45
/user/63AF90B9A89FF61B_ba8e03
/user/B345719C1EA39E9D_525e54
/user/CD153FD171501648_419d33
/user/FA66FFDE416EEAA8_e64357
/user/79CD18B8FC42084F_aba115
/user/5575A066200FC564_fc0404
/user/D985D45946FC56B2_1d6bac
/user/101B512EBF9D6B65_40e1fe
/user/3C2C9349CCA1229E_ff2ce2
/user/32576BE467D6E8D2_2fd81d
/user/BA506F429257956D_f282bd
/user/AC9CD423983DC63B_d373b2
/user/50D0F5720411E16A_50a1cb
/user/214E21F75AC95198_66a2cd
/user/E950044201009805_7c1d4f
/user/6449299CE2746F04_dc90b3
/user/4D458F56A73D4C3F_e5be98
/user/E5256922947CD2F1_393f61
/user/6FF5077A73003891_fd12d6
/user/309111283798B192_4af02f
/user/062A12F6B272DE85_c8f554
/user/D0C24B5ACBBCD755_3c48c3
/user/E0D511CC84D9BBED_40ca11
/user/F54DF4A13E3E9454_9694be
/user/646D23DD31559844_cfd071
/user/E67683A3FD5CC03C_5a22a1
/user/CE15D266212D4624_0fd194
/user/756938BDB7521E10_187e30
/user/04755175494FE7AD_212a49
/user/96A081CAE39C50EA_cfcb31
/user/E5337AFC628552FB_147a0c
/user/4C36C72C9711A6CE_38df60
/user/270C9539AD816F1B_3c68c1
/user/411240AF5523A3D6_309838
/user/03F9829C67A65380_1f3545
/user/C44F4413CD58FE7A_5f7d6c
/user/685458B9B2186811_c90958
/user/47892DE3E9D33693_5a66b5
/user/5CFF331065601698_dc163f
/user/B28EB601E3CC2869_0984bf
/user/ABC22B9E98EB7A82_11448a
/user/8BFB33E9BB4E4148_a4573e
/user/AB4B734E95DC6DBF_469e67
/user/3ACBAABA5FD757CC_1d4974
/user/A19549E09010613B_dd9398
/user/6FA31974FAABD536_7350ac
/user/9A5D5912C29BA6EC_04c282
/user/B5A78FB00ECCCF6F_c9f82b
/user/3C90FB51D071C199_cf2b23
/user/E595E63A448FED0A_d8841a
/user/43AD3ACAC27D121D_da071f
/user/DE9FF6CB84701060_6808de
/user/080CDE7DCC9300CC_8a78e4
/user/BEDEC2B61D20FF7A_5c11a8
/user/299625B3A285B9FB_d26baf
/user/2DEDC46DC0C98E7B_0a2b69
/user/2E84A4FA84D8E7B0_6f289c
/user/92DD9BB428725A69_e6cdc5
/user/C68F3BF06FD8BE25_1437dc
/user/6EFFEE4561237E45_f0c597
/user/66633D3DA2FB2F25_b4ff5c
/user/A37B3DC5CE4D69C0_c867f0
/user/8EB0D3645E12EE29_879de4
/user/D51E7C526CEA0B4C_f52cbb
/user/22584832C393A36C_106a9b
/user/6C8BA2F954ABED82_995a41
/user/5CE8560D0DD33078_1e9568
/user/1638C461E2A5DB9A_90e8b9
/user/9BFFAF6CCC5B4002_d58fd6
/user/A4EC7FFFEEC4F4A0_f66666
/user/89D794443D652600_2f8651
/user/F83797B2704E5033_0bb8af
/user/14753EF390F7B7AC_e10f29
/user/BC7E0A416D3165F2_a9e6bd
/user/EACF1668F595A0F4_691b5c
/user/A39DFA0C091E8BB6_e47d6e
/user/73218E6FB650B4D8_2d8ef3
/user/805867D8FA86C3B7_cc2d16
/user/D5091A50D99215CE_5a416d
/user/78F69B9D0FFC6157_65e668
/user/D5DEEEEB5FB9753B_4fec0a
/user/27049A71D0D44520_aca4d9
/user/84CFF05583554DDF_f0b485
/user/3D00DED5D335B010_b11dce
/user/Yuu459zetubou_d8e8da
/user/76A02F61A1A3D5DC_ade6ca
/user/F3E4122B2898728F_ffdb84
/user/85DB6A0B1AB05669_fad5be

58
getRanking.py Normal file
View File

@@ -0,0 +1,58 @@
import requests, random, re, time, json
from bs4 import BeautifulSoup as bs
from selenium import webdriver
import pandas as pd
user_agents_list = open("user-agent.txt", 'r').read().split('\n')
baseUrl = 'https://virtual-youtuber.userlocal.jp/document/ranking?page='
def toInt(x: str):
match = re.findall("[0-9]", x)
ret = ""
for i in match:
ret += i
return ret
def get(url: str):
time.sleep(5)
return requests.get(url, headers={'User-Agent': random.choice(user_agents_list)})
vtubers = {}
for i in range(1, 40+1):
# Get the html
res = get(f"{baseUrl}{i}")
soup = bs(res.text, 'html.parser')
# Find the data
data = soup.find(
'div', {'class': "container container-noamp my-3 px-0"}
).find('table').tbody.find_all('tr')
# Convert to JSON
for element in data:
userid = element['data-href'].replace('\n', '').replace(' ', '')
vtubers[userid] = {}
vtubers[userid]['name'] = element.find(
'td', {'class': "col-name"}
).find(
'a', {'href': userid, 'class': "no-propagation"}
).getText().replace('\n', '').replace(' ', '')
if element.find('div', {'class': "box-office"}) != None:
vtubers[userid]['office'] = element.find('div', {'class': "box-office"}).find('a').getText()
vtubers[userid]['fan'] = toInt(element.find('span', {'class': "text-success font-weight-bold"}).getText())
vtubers[userid]['view'] = toInt(element.find('span', {'class': "text-danger font-weight-bold"}).getText())
print(vtubers[userid]['name'])
with open("result.json", 'w', encoding='utf8') as jfile:
json.dump(vtubers, jfile, indent=4)

77
getVideos.py Normal file
View File

@@ -0,0 +1,77 @@
import requests, random, re, time, json
from bs4 import BeautifulSoup as bs
from selenium import webdriver
import pandas as pd
user_agents_list = open("user-agent.txt", 'r').read().split('\n')[:-1]
baseUrl = 'https://virtual-youtuber.userlocal.jp'
def toInt(x: str):
match = re.findall("[0-9]", x)
ret = ""
for i in match:
ret += i
return ret
user_agent = random.choice(user_agents_list)
def get(url: str):
time.sleep(5)
print(f"Get {url} user-agent: {user_agent}")
ret = requests.get(url, headers={'User-Agent': user_agent})
with open("output", 'w', encoding='utf8') as file:
file.write(ret.text)
return ret
def findChannel(text: str):
return re.search('''<span\ itemprop="author"\ itemscope\ itemtype="http://schema\.org/Person"><link\ itemprop="url"\ href="(http://www\.youtube\.com/@.*?)">''', text)
def findVideo(text: str):
return re.search('''"videosCountText":\{"runs":\[\{"text":"([0-9]*?)"\}''', text)
with open("result.json", 'r', encoding='utf8') as jfile:
vtubers = json.load(jfile)
for userid in vtubers:
if 'video' in vtubers[userid]:
continue
# Get the html
user_agent = random.choice(user_agents_list)
res = get(f"{baseUrl}{userid}")
soup = bs(res.text, 'html.parser')
# Find the data
yturl = soup.find('a', {'class': "btn btn-youtube btn-raised text-capitalize"})
if yturl:
yturl = soup.find('a', {'class': "btn btn-youtube btn-raised text-capitalize"})['href']
ytres = get(yturl)
churl = findChannel(ytres.text)
if churl == None:
print(f"{vtubers[userid]['name']} failed.")
with open("fail.log", 'a', encoding='utf8') as file:
file.write(userid+'\n')
continue
churl = churl.group(1)
churl = findChannel(ytres.text).group(1)
chres = get(churl)
video = findVideo(chres.text)
if video == None:
print(f"{vtubers[userid]['name']} failed.")
with open("fail.log", 'a', encoding='utf8') as file:
file.write(userid+'\n')
continue
video = video.group(1)
print(vtubers[userid]['name'], video)
vtubers[userid]['video'] = video
# Save the data
with open("result.json", 'w', encoding='utf8') as jfile:
json.dump(vtubers, jfile, indent=4)

40
input Normal file
View File

@@ -0,0 +1,40 @@
data/1.html
data/2.html
data/3.html
data/4.html
data/5.html
data/6.html
data/7.html
data/8.html
data/9.html
data/10.html
data/11.html
data/12.html
data/13.html
data/14.html
data/15.html
data/16.html
data/17.html
data/18.html
data/19.html
data/20.html
data/21.html
data/22.html
data/23.html
data/24.html
data/25.html
data/26.html
data/27.html
data/28.html
data/29.html
data/30.html
data/31.html
data/32.html
data/33.html
data/34.html
data/35.html
data/36.html
data/37.html
data/38.html
data/39.html
data/40.html

708
output Normal file
View File

@@ -0,0 +1,708 @@
<!DOCTYPE html>
<html lang="ja">
<head>
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta http-equiv="content-language" content="ja">
<meta name="csrf-param" content="authenticity_token" />
<meta name="csrf-token" content="mrWzvk838BJl7EYRPhEhNbKVSvEocv6fu8Sk2UJATTodszqWkX-grSgnRv56s11PrBAY97mjtHgjD33UQJH_ZA" />
<meta charset="utf-8">
<title>Darkson2D | VTuberチャンネル登録者数</title>
<meta name="description" content="バーチャルYouTuber : YouTubeでの人気キャラクターのファン数ランキングや動画再生回数を掲載しています。">
<meta name="keywords" content="darkson2d, バーチャルyoutuber, vtuber, バーチャルユーチューバー, virtual youtuber, 登録者数">
<link rel="canonical" href="https://virtual-youtuber.userlocal.jp/user/9149C72A0C0A7EAB_726529">
<meta property="og:site_name" content="VTuber ランキング - ユーザーローカル : 人気バーチャルユーチューバー ランキング">
<meta property="og:title" content="Darkson2D | VTuberチャンネル登録者数">
<meta property="og:description" content="今話題になっている「バーチャルYouTuber」の人気キャラクター一覧。YouTubeチャンネルのファン人数や再生回数の推移を調査">
<meta property="og:type" content="website">
<meta property="og:url" content="https://virtual-youtuber.userlocal.jp/user/9149C72A0C0A7EAB_726529">
<meta property="og:image" content="https://yt3.googleusercontent.com/a/default-user=s100-c-k-c0x00ffffff-no-rj">
<meta property="og:locale" content="ja_JP">
<meta name="author" content="ユーザーローカル">
<link rel="stylesheet" href="/assets/application-283fabc7b139d4bb1b5aa899c33da57a9bdea1c4afa86dd25ac20dd68e399cb0.css" media="all" />
<script src="/assets/application-c91a4319440fe8188508529ef6a6ceaff7280427064195fefe4a6651d5bfa3e1.js"></script>
<script type="text/javascript">
I18n.defaultLocale = "ja";
I18n.locale = "ja";
I18n.fallbacks = true;
</script>
<!-- Google Tag Manager -->
<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
})(window,document,'script','dataLayer','GTM-PVXP8S');</script>
<!-- End Google Tag Manager -->
</head>
<body>
<!-- Google Tag Manager (noscript) -->
<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-PVXP8S"
height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
<!-- End Google Tag Manager (noscript) -->
<div class="header" id="globalMenu">
<div class="header-top">
<div class="container">
<div class="box-brand">
<a class="link-brand" href="/">
<img src="/assets/logo_new-1c99145514f74989dc037e109b1aaa3b405538e19ab21184795b31af674e2d73.png" />
</a> </div>
<div class="search-form container">
<form action="/search" accept-charset="UTF-8" method="get">
<input class="text-field form-control" type="text" name="keyword" id="keyword" />
<div class="submit-field">
<input type="submit" value="VTuber検索" class="submit-button btn btn-raised btn-info d-none d-md-block d-lg-block d-xl-block" data-disable-with="VTuber検索" />
<input type="submit" value="検索" class="submit-button btn btn-raised btn-info d-md-none" data-disable-with="検索" />
</div>
</form> </div>
<a class="vstaff-link" href="/virtual_staff?ref=top">ゆうこさんに聞く</a>
</div>
</div>
<div class="box-menu-sub d-lg-none container">
<div class="d-block">
<div class="header-offices">
<ul class="nav container">
<li class="nav-item">
<a class="box-icon" href="/office/hololive_all">
<div class="icon">
<img alt="ホロライブ" src="https://ai.userlocal.jp/images/vy2/vtuber/hololive_all.png" />
</div>
<div class="subject">
ホロライブP
</div>
</a>
</li>
<li class="nav-item">
<a class="box-icon" href="/office/nijisanji_all">
<div class="icon">
<img alt="にじさんじ" src="https://ai.userlocal.jp/images/vy2/vtuber/nijisanji_all.png" />
</div>
<div class="subject">
にじさんじP
</div>
</a>
</li>
<li class="nav-item">
<a class="box-icon" href="/office/nanashi_all">
<div class="icon">
<img alt="ななしいんく" src="https://ai.userlocal.jp/images/vy2/vtuber/nanashi_all.png" />
</div>
<div class="subject">
ななしいんく
</div>
</a>
</li>
<li class="nav-item">
<a class="box-icon" href="/office/brave_all">
<div class="icon">
<img alt="Brave group" src="https://ai.userlocal.jp/images/vy2/vtuber/brave_all.png" />
</div>
<div class="subject">
Brave g...
</div>
</a>
</li>
<li class="nav-item">
<a class="box-icon" href="/office/all">
<div class="icon">
<img alt="すべて" src="https://ai.userlocal.jp/images/vy2/vtuber/all.png" />
</div>
<div class="subject">
すべて
</div>
</a>
</li>
</ul>
</div>
</div>
<ul class="list-inline office-links">
<li class="">
<a class="office-link" href="/document/ranking?order=fav_cnt_diff"><img src="/assets/soaring-ac23b0214083e286834a8ed2828a73028a2cd45d8e3a8b313225913e0d73b65a.png" />急上昇</a>
</li>
<li class="">
<a class="office-link" href="https://live-ranking.userlocal.jp/vtuber-ranking"><img src="/assets/lives-9c7e22b1611a726b068fbbd25a80f11785b2f32b68d92f84a607d4184ae82d02.png" />ライブ放送中</a>
</li>
<li class="">
<a class="office-link" href="/schedules"><img src="/assets/schedule-f254ee7228b40d3609845cb1f7f58f8c5033eb1c555b70983cb111f9a73facdb.png" />配信スケジュール</a>
</li>
<li class="">
<a class="office-link" href="/movies"><img src="/assets/new-d7f8dfa37298adc5b3506355c361b75ccf62b4989febcd333f83f8829e4315ca.png" />新着動画</a>
</li>
<li class="">
<a class="office-link" href="/movies?range=48h"><img src="/assets/platforms/youtube-5c7f78424248b3263d8f4158a4a8dcbf66d76b69e32158d652dd97c82e80519a.png" />人気動画</a>
</li>
<li class="">
<a class="office-link" href="/movies?office=kirinuki"><img src="/assets/kirinuki-a87e71d57f32abadd6165d4a1afacacfeca8a6c4cf0956a794a1acca492177bc.png" />切り抜き</a>
</li>
<li class="">
<a class="office-link" href="/document/ranking"><img src="/assets/fan-b26f719561a75955591e45db8e4e74d767c4c468c57a3bf7b96f62d94cae5423.png" />ファン数順</a>
</li>
<li class="">
<a class="office-link" href="/document/ranking/beginner?order=fav_cnt_diff"><img src="/assets/beginner-0c54017bb680e5fd4779c22bfdf516aaf9c9b2a74726acde65cc290024cb2c2b.png" />注目の新人</a>
</li>
<li class="">
<a class="office-link" href="https://social.userlocal.jp/?stage=youtube_vy_reg">申請</a>
</li>
</ul>
</div>
</div>
<!-- PC版ヘッター -->
<div class="sticky-top box-menu-global d-none d-lg-block d-xl-block all_menu_list">
<div class="container">
<div class="menu-block">
<ul class="menu-block-office list-inline">
<li class="menu-title list-inline-item">事務所別:</li><li class="menu-item">
<ul class="list-inline">
<li class="list-inline-item">
<div class="dropdown">
<a class="office-link" role="button" href="/office/hololive_all">
<img src="https://ai.userlocal.jp/images/vy2/vtuber/hololive_all.png" />
ホロライブ
<i class="fa fa-caret-down"></i>
</a> <ul class="dropdown-menu" role="menu" >
<li>
<a class="office-link stretched-link" href="/office/cover">
<img src="https://ai.userlocal.jp/images/vy2/vtuber/cover.png" width="16" height="16" />
ホロライブ (国内)
</a> </li>
<li>
<a class="office-link stretched-link" href="/office/hololive_world">
<img src="https://ai.userlocal.jp/images/vy2/vtuber/hololive_world.png" width="16" height="16" />
hololive (海外)
</a> </li>
<li>
<a class="office-link stretched-link" href="/office/hololive_en">
<img src="https://ai.userlocal.jp/images/vy2/vtuber/hololive_en.png" width="16" height="16" />
hololive EN
</a> </li>
<li>
<a class="office-link stretched-link" href="/office/hololive_id">
<img src="https://ai.userlocal.jp/images/vy2/vtuber/hololive_id.png" width="16" height="16" />
hololive ID
</a> </li>
<li>
<a class="office-link stretched-link" href="/office/holostars">
<img src="https://ai.userlocal.jp/images/vy2/vtuber/holostars.png" width="16" height="16" />
ホロスターズ
</a> </li>
<li>
<a class="office-link stretched-link" href="/office/holostars_en">
<img src="https://ai.userlocal.jp/images/vy2/vtuber/holostars_en.png" width="16" height="16" />
HOLOSTARS EN
</a> </li>
</ul>
</div>
</li>
<li class="list-inline-item">
<div class="dropdown">
<a class="office-link" role="button" href="/office/nijisanji_all">
<img src="https://ai.userlocal.jp/images/vy2/vtuber/nijisanji_all.png" />
にじさんじ
<i class="fa fa-caret-down"></i>
</a> <ul class="dropdown-menu" role="menu" >
<li>
<a class="office-link stretched-link" href="/office/nijisanji">
<img src="https://ai.userlocal.jp/images/vy2/vtuber/nijisanji.png" width="16" height="16" />
1・2期出身
</a> </li>
<li>
<a class="office-link stretched-link" href="/office/nijisanji_gamers">
<img src="https://ai.userlocal.jp/images/vy2/vtuber/nijisanji_gamers.png" width="16" height="16" />
ゲーマーズ出身
</a> </li>
<li>
<a class="office-link stretched-link" href="/office/nijisanji_seeds">
<img src="https://ai.userlocal.jp/images/vy2/vtuber/nijisanji_seeds.png" width="16" height="16" />
SEEDs出身
</a> </li>
<li>
<a class="office-link stretched-link" href="/office/nijisanji_after">
<img src="https://ai.userlocal.jp/images/vy2/vtuber/nijisanji_after.png" width="16" height="16" />
統合後
</a> </li>
<li>
<a class="office-link stretched-link" href="/office/nijisanji_world">
<img src="https://ai.userlocal.jp/images/vy2/vtuber/nijisanji_world.png" width="16" height="16" />
海外
</a> </li>
<li>
<a class="office-link stretched-link" href="/office/nijisanji_in">
<img src="https://ai.userlocal.jp/images/vy2/vtuber/nijisanji_in.png" width="16" height="16" />
NIJISANJI EN
</a> </li>
<li>
<a class="office-link stretched-link" href="/office/nijisanji_id">
<img src="https://ai.userlocal.jp/images/vy2/vtuber/nijisanji_id.png" width="16" height="16" />
NIJISANJI ID
</a> </li>
<li>
<a class="office-link stretched-link" href="/office/nijisanji_kr">
<img src="https://ai.userlocal.jp/images/vy2/vtuber/nijisanji_kr.png" width="16" height="16" />
NIJISANJI KR
</a> </li>
</ul>
</div>
</li>
<li class="list-inline-item">
<div class="dropdown">
<a class="office-link" role="button" href="/office/nanashi_all">
<img src="https://ai.userlocal.jp/images/vy2/vtuber/nanashi_all.png" />
ななしいんく
<i class="fa fa-caret-down"></i>
</a> <ul class="dropdown-menu" role="menu" >
<li>
<a class="office-link stretched-link" href="/office/vapart">
<img src="https://ai.userlocal.jp/images/vy2/vtuber/vapart.png" width="16" height="16" />
ななしいんく
</a> </li>
<li>
<a class="office-link stretched-link" href="/office/animare">
<img src="https://ai.userlocal.jp/images/vy2/vtuber/animare.png" width="16" height="16" />
あにまーれ出身
</a> </li>
<li>
<a class="office-link stretched-link" href="/office/hnst">
<img src="https://ai.userlocal.jp/images/vy2/vtuber/hnst.png" width="16" height="16" />
ハニスト出身
</a> </li>
<li>
<a class="office-link stretched-link" href="/office/sugarlyric">
<img src="https://ai.userlocal.jp/images/vy2/vtuber/sugarlyric.png" width="16" height="16" />
シュガリリ出身
</a> </li>
<li>
<a class="office-link stretched-link" href="/office/hiyocro">
<img src="https://ai.userlocal.jp/images/vy2/vtuber/hiyocro.png" width="16" height="16" />
ひよクロ出身
</a> </li>
</ul>
</div>
</li>
<li class="list-inline-item">
<div class="dropdown">
<a class="office-link" role="button" href="/office/brave_all">
<img src="https://ai.userlocal.jp/images/vy2/vtuber/brave_all.png" />
Brave group
<i class="fa fa-caret-down"></i>
</a> <ul class="dropdown-menu" role="menu" >
<li>
<a class="office-link stretched-link" href="/office/vspo">
<img src="https://ai.userlocal.jp/images/vy2/vtuber/vspo.png" width="16" height="16" />
ぶいすぽっ!
</a> </li>
<li>
<a class="office-link stretched-link" href="/office/riotmusic">
<img src="https://ai.userlocal.jp/images/vy2/vtuber/riotmusic.png" width="16" height="16" />
RIOT MUSIC
</a> </li>
<li>
<a class="office-link stretched-link" href="/office/paletteproject">
<img src="https://ai.userlocal.jp/images/vy2/vtuber/paletteproject.png" width="16" height="16" />
Palette Project
</a> </li>
</ul>
</div>
</li>
<li class="list-inline-item">
<div class="dropdown">
<a class="office-link" role="button" href="/office/all">
<img src="https://ai.userlocal.jp/images/vy2/vtuber/all.png" />
すべて
<i class="fa fa-caret-down"></i>
</a> <ul class="dropdown-menu" role="menu" >
<li>
<a class="office-link stretched-link" href="/office/appland">
<img src="https://ai.userlocal.jp/images/vy2/vtuber/appland.png" width="16" height="16" />
.LIVE
</a> </li>
<li>
<a class="office-link stretched-link" href="/office/noripro">
<img src="https://ai.userlocal.jp/images/vy2/vtuber/noripro.png" width="16" height="16" />
のりプロ
</a> </li>
<li>
<a class="office-link stretched-link" href="/office/neoporte">
<img src="https://ai.userlocal.jp/images/vy2/vtuber/neoporte.png" width="16" height="16" />
ネオポルテ
</a> </li>
<li>
<a class="office-link stretched-link" href="/office/kagayaki_stars">
<img src="https://ai.userlocal.jp/images/vy2/vtuber/kagayaki_stars.png" width="16" height="16" />
Re:AcT
</a> </li>
<li>
<a class="office-link stretched-link" href="/office/aogiri">
<img src="https://ai.userlocal.jp/images/vy2/vtuber/aogiri.png" width="16" height="16" />
あおぎり高校
</a> </li>
<li>
<a class="office-link stretched-link" href="/office/eilene">
<img src="https://ai.userlocal.jp/images/vy2/vtuber/eilene.png" width="16" height="16" />
エイレーン
</a> </li>
<li>
<a class="office-link stretched-link" href="/office/personal">
<img src="https://ai.userlocal.jp/images/vy2/vtuber/personal.png" width="16" height="16" />
個人
</a> </li>
<li>
<a class="office-link stretched-link" href="/office/kirinuki">
<img src="https://ai.userlocal.jp/images/vy2/vtuber/kirinuki.png" width="16" height="16" />
切り抜きCh
</a> </li>
<li>
<a class="office-link stretched-link" href="/office/all">
<img src="https://ai.userlocal.jp/images/vy2/vtuber/all.png" width="16" height="16" />
すべてのグループ
</a> </li>
</ul>
</div>
</li>
</ul>
</li>
</ul>
<ul class="menu-block-other list-inline">
<li class="menu-platforms">
<a href="/document/tw_ranking"><img src="/assets/platforms/tw-ac3452742cfad454d532fb7064b5709c5e4c1e755ee4a0dc65de3ce8aa7741f3.png" /></a>
<a href="/document/instagram_ranking"><img src="/assets/platforms/instagram-fb78660d4c995ad8e244d2eb5f3d57a160a77ae8e6df6c46436591f82301f086.png" /></a>
<a href="/document/showroom_ranking"><img src="/assets/platforms/showroom-d2aa309be784edf79bd5a327888d6c2cd4e4b94a5eeb3ceb37a57f0be75526b0.png" /></a>
<a href="/document/tiktok_ranking"><img src="/assets/platforms/tiktok-a0a7dea62a844ead636214ed52be9064c0e85c463f80618588e1b4f497a1aebb.png" /></a>
</li>
</ul>
</div>
<div class="menu-block">
<ul class="menu-block-ranking list-inline">
<li class="menu-item">
<ul class="list-inline">
<li class="list-inline-item">
<a href="/document/ranking?order=fav_cnt_diff"><img src="/assets/soaring-ac23b0214083e286834a8ed2828a73028a2cd45d8e3a8b313225913e0d73b65a.png" />急上昇</a>
</li>
<li class="list-inline-item">
<a href="https://live-ranking.userlocal.jp/vtuber-ranking"><img src="/assets/lives-9c7e22b1611a726b068fbbd25a80f11785b2f32b68d92f84a607d4184ae82d02.png" />ライブ放送中</a>
</li>
<li class="list-inline-item">
<a href="/schedules"><img src="/assets/schedule-f254ee7228b40d3609845cb1f7f58f8c5033eb1c555b70983cb111f9a73facdb.png" />配信スケジュール</a>
</li>
<li class="list-inline-item">
<a href="/movies"><img src="/assets/new-d7f8dfa37298adc5b3506355c361b75ccf62b4989febcd333f83f8829e4315ca.png" />新着動画</a>
</li>
<li class="list-inline-item">
<a href="/movies?range=48h"><img src="/assets/platforms/youtube-5c7f78424248b3263d8f4158a4a8dcbf66d76b69e32158d652dd97c82e80519a.png" />人気動画</a>
</li>
<li class="list-inline-item">
<a href="/movies?office=kirinuki"><img src="/assets/kirinuki-a87e71d57f32abadd6165d4a1afacacfeca8a6c4cf0956a794a1acca492177bc.png" />切り抜き</a>
</li>
<li class="list-inline-item">
<a href="/document/ranking"><img src="/assets/fan-b26f719561a75955591e45db8e4e74d767c4c468c57a3bf7b96f62d94cae5423.png" />ファン数順</a>
</li>
<li class="list-inline-item">
<a href="/document/ranking/beginner?order=fav_cnt_diff"><img src="/assets/beginner-0c54017bb680e5fd4779c22bfdf516aaf9c9b2a74726acde65cc290024cb2c2b.png" />注目の新人</a>
</li>
<li class="list-inline-item">
<a href="https://social.userlocal.jp/?stage=youtube_vy_reg">申請</a>
</li>
</ul>
</li>
</ul>
<ul class="menu-block-live list-inline">
<li class="menu-item">
<ul class="list-inline">
</ul>
</li>
</ul>
</div>
</div>
</div>
<!-- 広告 -->
<div class="d-block container my-3 px-0">
<div class="alert alert-release">
<a href="https://gpt-bot.userlocal.jp/">キャラクターBOTを無料で作れるサービスをユーザーローカルが開発</a>
</div>
</div>
<div class="d-none box-office-menu-extendable container my-2">
</div>
<div class="container container-noamp my-3 px-0">
<div class="box-channel">
<div class="container">
<div class="row">
<div class="col-12 col-lg-6">
<div class="d-flex flex-row justify-content-center align-items-center flex-ie h-100">
<div></div>
</div>
</div>
<div class="col-12 col-lg-6 box-channel-info vertical">
<div class="vertical">
<h1 class="channel-subject">Darkson2D</h1>
<div>
<h1 class="channel-nickname d-inline reserved-1"></h1>
<a class="text-nowrap font-size-sub-0" href="/schedules/new?youtube=9149C72A0C0A7EAB_726529"><i class="fa fa-edit fa-fw fa-lg"></i>ライブ配信スケジュールを登録する</a>
</div>
</div>
<div class="vertical my-3">
<div class="channel-stat my-2">
<span class="channel-stat-label bg-success text-white">登録者数</span>
<span class="channel-stat-value">2万100人</span>
</div>
<div class="channel-stat my-2">
<span class="channel-stat-label bg-danger text-white">総再生回数</span>
<span class="channel-stat-value">33万846回</span>
</div>
<div class="channel-stat my-2">
<span class="channel-stat-label text-white" style="background-color: #f9a825">開設日</span>
<span class="channel-stat-value">2021年09月02日</span>
</div>
</div>
<div class="channel-body">
Hey, soy ✨Darkson✨. Hago contenido de entretenimiento usando mi avatar vtuber, yo contento si lo compartes ❤️
</div>
</div>
</div>
</div>
<div id="comment" class="separator bg-primary text-white mt-3">
ファンの声
</div>
<div class="row my-3 mx-0 mx-lg-3">
<div class="col-12 col-lg-6 offset-lg-3">
<div id="ulCommentWidget" style="clear:both;"></div>
<script>
var _ul_comment_config = _ul_comment_config||{};
_ul_comment_config['id'] = 'CM-GFw2Cuzg';
_ul_comment_config['article_id'] = '/document/ranking/9149C72A0C0A7EAB_726529';
_ul_comment_config['author'] = '';
_ul_comment_config['published_at'] = '';
_ul_comment_config['use_pagination'] = true; // ページネーションを利用するには必須
(function (c, n, s) {if (c[n] === void 0) {c['ULObject'] = n;
c[n] = c[n] || function () {(c[n].q = c[n].q || []).push(arguments)};
c[n].l = 1 * new Date();var e = document.createElement('script');e.async = 1;
e.src = s + "/comment.js";var t = document.getElementsByTagName('script')[0];
t.parentNode.insertBefore(e, t);}})
(window, 'ul_comment_widget', 'https://cm-widget.nakanohito.jp/cm');
ul_comment_widget('init', _ul_comment_config);
</script>
</div>
</div>
<div class="separator bg-info text-white mt-3">
よく配信している時間帯・曜日(ベータ版)
</div>
<div class="container">
<div class="row">
<div class="col-12 col-lg-6 my-3">
<h4>時間帯</h4>
<img style="width: 100%" src="https://ai.userlocal.jp/images/vy2/hour_day_stat/?youtube_key=9149C72A0C0A7EAB_726529&amp;type=hour" />
</div>
<div class="col-12 col-lg-6 my-3">
<h4>曜日</h4>
<img style="width: 100%" src="https://ai.userlocal.jp/images/vy2/hour_day_stat/?youtube_key=9149C72A0C0A7EAB_726529&amp;type=day" />
</div>
</div>
</div>
<div class="separator bg-info text-white mt-3">
チャンネル登録者数の推移
</div>
<ul id="chartTabList" class="nav nav-pills mb-3" role="tablist">
<li class="nav-item">
<a class="nav-link" id="tab-a_week" data-toggle="pill" href="#content-a_week" role="tab" aria-controls="content-a_week" aria-selected="true">
1週間
</a> </li>
<li class="nav-item">
<a class="nav-link" id="tab-two_weeks" data-toggle="pill" href="#content-two_weeks" role="tab" aria-controls="content-two_weeks" aria-selected="false">
2週間
</a> </li>
<li class="nav-item">
<a class="nav-link active" id="tab-a_month" data-toggle="pill" href="#content-a_month" role="tab" aria-controls="content-a_month" aria-selected="false">
1ヶ月
</a> </li>
</ul>
<div id="chartTabContent" class="tab-content">
<div class="tab-pane fade chart chart-channel p-3" id="content-a_week" role="tabpanel" data-term="a_week" aria-labelledby="tab-a_week"></div>
<div class="tab-pane fade chart chart-channel p-3" id="content-two_weeks" role="tabpanel" data-term="two_weeks" aria-labelledby="tab-two_weeks"></div>
<div class="tab-pane fade chart chart-channel p-3 show active" id="content-a_month" role="tabpanel" data-term="a_month" aria-labelledby="tab-a_month"></div>
</div>
</div>
<div class="data d-none">
<span id="stats">{&quot;fav_cnt&quot;:{&quot;a_week&quot;:[[&quot;2023-06-06&quot;,0],[&quot;2023-06-07&quot;,0],[&quot;2023-06-08&quot;,0],[&quot;2023-06-09&quot;,0],[&quot;2023-06-10&quot;,0],[&quot;2023-06-11&quot;,0],[&quot;2023-06-12&quot;,0],[&quot;2023-06-13&quot;,0],[&quot;2023-06-14&quot;,0]],&quot;two_weeks&quot;:[[&quot;2023-05-30&quot;,0],[&quot;2023-05-31&quot;,0],[&quot;2023-06-01&quot;,0],[&quot;2023-06-02&quot;,0],[&quot;2023-06-03&quot;,0],[&quot;2023-06-04&quot;,0],[&quot;2023-06-05&quot;,0],[&quot;2023-06-06&quot;,0],[&quot;2023-06-07&quot;,0],[&quot;2023-06-08&quot;,0],[&quot;2023-06-09&quot;,0],[&quot;2023-06-10&quot;,0],[&quot;2023-06-11&quot;,0],[&quot;2023-06-12&quot;,0],[&quot;2023-06-13&quot;,0],[&quot;2023-06-14&quot;,0]],&quot;a_month&quot;:[[&quot;2023-05-13&quot;,0],[&quot;2023-05-14&quot;,0],[&quot;2023-05-15&quot;,0],[&quot;2023-05-16&quot;,0],[&quot;2023-05-17&quot;,0],[&quot;2023-05-18&quot;,0],[&quot;2023-05-19&quot;,0],[&quot;2023-05-20&quot;,0],[&quot;2023-05-21&quot;,0],[&quot;2023-05-22&quot;,0],[&quot;2023-05-23&quot;,0],[&quot;2023-05-24&quot;,0],[&quot;2023-05-25&quot;,0],[&quot;2023-05-26&quot;,0],[&quot;2023-05-27&quot;,0],[&quot;2023-05-28&quot;,0],[&quot;2023-05-29&quot;,0],[&quot;2023-05-30&quot;,0],[&quot;2023-05-31&quot;,0],[&quot;2023-06-01&quot;,0],[&quot;2023-06-02&quot;,0],[&quot;2023-06-03&quot;,0],[&quot;2023-06-04&quot;,0],[&quot;2023-06-05&quot;,0],[&quot;2023-06-06&quot;,0],[&quot;2023-06-07&quot;,0],[&quot;2023-06-08&quot;,0],[&quot;2023-06-09&quot;,0],[&quot;2023-06-10&quot;,0],[&quot;2023-06-11&quot;,0],[&quot;2023-06-12&quot;,0],[&quot;2023-06-13&quot;,0],[&quot;2023-06-14&quot;,0]]}}</span>
</div>
<script>
$(function() {
var stats_json = $('#stats').text();
var stats = JSON.parse(stats_json);
$('#chartTabContent .tab-pane').each(function(i, e) {
var term = $(this).data('term');
if (stats['linked_cnt'] && stats['linked_cnt'][term]) {
UlChart.followersLineChart(e, [stats.fav_cnt[term], stats.linked_cnt[term]]);
} else {
UlChart.followersLineChart(e, [stats.fav_cnt[term]]);
}
});
});
</script>
</div>
<footer id="footer" class="footer pt-3 pb-1">
<div class="container">
<nav>
<ul class="list-inline text-center">
<li>
<a href="https://social.userlocal.jp/?stage=youtube_vy_reg" target="_blank">ランキング掲載申請</a>
</li>
<li>
<a href="https://www.userlocal.jp/contact/" target="_blank">お問い合わせ</a>
</li>
<li>
<a href="https://survey.zohopublic.com/zs/0vB50G" target="_blank">このサイトへの要望</a>
</li>
<li>
<a href="https://sns.userlocal.jp/" target="_blank">SNS解析</a>
</li>
<li>
<a href=" https://chatbot.userlocal.jp/" target="_blank">チャットボット</a>
</li>
<li>
<a href="https://ui.userlocal.jp/" target="_blank">ヒートマップ解析</a>
</li>
<li>
<a href="https://www.userlocal.jp/company/" target="_blank">会社概要</a>
</li>
</ul>
</nav>
</div>
<div class="copyright">
<p class="text-center">© 2023 User Local, Inc. All Rights Reserved.</p>
</div>
</footer>
<div id="modalYouTube" class="modal" tabindex="-1" role="dialog">
<div class="modal-dialog modal-lg modal-dialog-centered" role="document">
<div class="modal-content">
<div class="modal-header">
<div class="modal-title">
<a href="" class="video-title-link" target="_blank">
<span class="video-title"></span>
</a>
</div>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
</div>
<div class="modal-body video">
<div class="video-box"></div>
<div>
<a href="" class="video-channel-link" target="_blank">
<span class="video-channel-name"></span>
</a>
</div>
<div class="video-desc"></div>
<div class="text-right">
<a href="" class="text-right btn-video-link" target="_blank">
<i class="fa fa-external-link fa-fw"></i> YouTubeで再生
</a>
</div>
</div>
</div>
</div>
</div>
<div id="mobileMenu" class="mobile-menu fixed-bottom d-block d-lg-none text-white">
<div class="row">
<div class="col menu-item ">
<div class="vertical text-center">
<a href="/">
<img class="menu-icon" src="/assets/home-995049f9d33ae3dba2c444e9b88d40ed197d611ba47d1f13d5bd5a0a68de219d.png" width="32" height="32" />
</a>
<span class="menu-text">HOME</span>
</div>
</div>
<div class="col menu-item ">
<div class="vertical text-center">
<a href="/lives">
<img class="menu-icon" src="/assets/live-78e9282fc2967f6c9a8a433474594fb201ef8416925391c949d13f90faa1048b.png" width="32" height="32" />
</a>
<span class="menu-text">LIVE</span>
</div>
</div>
<div class="col menu-item ">
<div class="vertical text-center">
<a href="/movies">
<img class="menu-icon" src="/assets/movie-5197224ebd6a1db46fd916c95d3217c1ace1c31366f21f132dff51148a78c3f1.png" width="32" height="32" />
</a>
<span class="menu-text">新着動画</span>
</div>
</div>
<div class="col menu-item ">
<div class="vertical text-center">
<a href="/document/ranking?order=fav_cnt_diff">
<img class="menu-icon" src="/assets/hot-2e5e292f0aba558a188a93f391c18dc48c6f177d34ac3016bf087b13f9a456a9.png" width="32" height="32" />
</a>
<span class="menu-text">急上昇</span>
</div>
</div>
<div class="col menu-item ">
<div class="vertical text-center">
<a href="/document/ranking">
<img class="menu-icon" src="/assets/ranking-cb9818c2d6b3e07039cefe04ecc42ce8dc4df262799be22842bafa7ea553a7b4.png" width="32" height="32" />
</a>
<span class="menu-text">RANKING</span>
</div>
</div>
</div>
</div>
<script>
$(function() {
var height = $('#mobileMenu').height();
$('body').css('padding-bottom', height);
});
</script>
</body>
</html>

12533
result.json Normal file

File diff suppressed because it is too large Load Diff

1
user-agent.txt Normal file
View File

@@ -0,0 +1 @@
Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36