Compare commits
12 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
1c817b6476 | ||
|
|
18b88200a8 | ||
|
|
c95d70a232 | ||
|
|
7640586591 | ||
|
|
f7ec14e166 | ||
|
|
a4dacdb7d7 | ||
|
|
785a82b618 | ||
|
|
faf886eebd | ||
|
|
8a627414cb | ||
|
|
d14262cbcb | ||
|
|
da7c694dfb | ||
|
|
9aa35b9756 |
@@ -2,7 +2,7 @@
|
|||||||
pytchat is a python library for fetching youtube live chat without using yt api, Selenium, or BeautifulSoup.
|
pytchat is a python library for fetching youtube live chat without using yt api, Selenium, or BeautifulSoup.
|
||||||
"""
|
"""
|
||||||
__copyright__ = 'Copyright (C) 2019 taizan-hokuto'
|
__copyright__ = 'Copyright (C) 2019 taizan-hokuto'
|
||||||
__version__ = '0.0.7'
|
__version__ = '0.0.7.2'
|
||||||
__license__ = 'MIT'
|
__license__ = 'MIT'
|
||||||
__author__ = 'taizan-hokuto'
|
__author__ = 'taizan-hokuto'
|
||||||
__author_email__ = '55448286+taizan-hokuto@users.noreply.github.com'
|
__author_email__ = '55448286+taizan-hokuto@users.noreply.github.com'
|
||||||
|
|||||||
@@ -35,6 +35,6 @@ class LiveChatMembershipItemRenderer(BaseRenderer):
|
|||||||
}
|
}
|
||||||
|
|
||||||
def get_message(self, renderer):
|
def get_message(self, renderer):
|
||||||
message = (renderer["headerSubtext"]["runs"][0]["text"]
|
message = ''.join([mes.get("text", "") for mes in renderer["headerSubtext"]["runs"]])
|
||||||
)+' / '+(renderer["authorName"]["simpleText"])
|
return message, [message]
|
||||||
return message
|
|
||||||
|
|||||||
@@ -10,6 +10,6 @@ class LiveChatMembershipItemRenderer(BaseRenderer):
|
|||||||
self.author.isChatSponsor = True
|
self.author.isChatSponsor = True
|
||||||
|
|
||||||
def get_message(self, renderer):
|
def get_message(self, renderer):
|
||||||
message = (renderer["headerSubtext"]["runs"][0]["text"]
|
message = ''.join([mes.get("text", "") for mes in renderer["headerSubtext"]["runs"]])
|
||||||
)+' / '+(renderer["authorName"]["simpleText"])
|
return message, [message]
|
||||||
return message
|
|
||||||
|
|||||||
@@ -70,7 +70,8 @@ def check_duplicate_offset(chatdata):
|
|||||||
if is_duplicate(i,i+1)]
|
if is_duplicate(i,i+1)]
|
||||||
|
|
||||||
def remove_duplicate_head(blocks):
|
def remove_duplicate_head(blocks):
|
||||||
if len(blocks) == 1 : return blocks
|
if len(blocks) == 0 or len(blocks) == 1:
|
||||||
|
return blocks
|
||||||
|
|
||||||
def is_duplicate_head(index):
|
def is_duplicate_head(index):
|
||||||
|
|
||||||
@@ -97,7 +98,8 @@ def remove_duplicate_head(blocks):
|
|||||||
return ret
|
return ret
|
||||||
|
|
||||||
def remove_duplicate_tail(blocks):
|
def remove_duplicate_tail(blocks):
|
||||||
if len(blocks) == 1 : return blocks
|
if len(blocks) == 0 or len(blocks) == 1:
|
||||||
|
return blocks
|
||||||
|
|
||||||
def is_duplicate_tail(index):
|
def is_duplicate_tail(index):
|
||||||
if len(blocks[index].chat_data) == 0:
|
if len(blocks[index].chat_data) == 0:
|
||||||
@@ -126,7 +128,8 @@ def remove_overlap(blocks):
|
|||||||
Align the last offset of each block to the first offset
|
Align the last offset of each block to the first offset
|
||||||
of next block (equals `end` offset of each block).
|
of next block (equals `end` offset of each block).
|
||||||
"""
|
"""
|
||||||
if len(blocks) == 1 : return blocks
|
if len(blocks) == 0 or len(blocks) == 1:
|
||||||
|
return blocks
|
||||||
|
|
||||||
for block in blocks:
|
for block in blocks:
|
||||||
if block.is_last:
|
if block.is_last:
|
||||||
|
|||||||
@@ -40,10 +40,11 @@ class Extractor:
|
|||||||
return self
|
return self
|
||||||
|
|
||||||
def _set_block_end(self):
|
def _set_block_end(self):
|
||||||
for i in range(len(self.blocks)-1):
|
if len(self.blocks) > 0:
|
||||||
self.blocks[i].end = self.blocks[i+1].first
|
for i in range(len(self.blocks)-1):
|
||||||
self.blocks[-1].end = self.duration*1000
|
self.blocks[i].end = self.blocks[i+1].first
|
||||||
self.blocks[-1].is_last =True
|
self.blocks[-1].end = self.duration*1000
|
||||||
|
self.blocks[-1].is_last =True
|
||||||
return self
|
return self
|
||||||
|
|
||||||
def _remove_overlap(self):
|
def _remove_overlap(self):
|
||||||
|
|||||||
Reference in New Issue
Block a user