Compare commits
11 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
bb4113b53c | ||
|
|
07f4382ed4 | ||
|
|
d40720616b | ||
|
|
6c9e327e36 | ||
|
|
e9161c0ddd | ||
|
|
30cb7d7043 | ||
|
|
19d5b74beb | ||
|
|
1d479fc15c | ||
|
|
20a20ddd08 | ||
|
|
67b766b32c | ||
|
|
249aa0d147 |
39
README.md
39
README.md
@@ -24,12 +24,14 @@ pip install pytchat
|
||||
|
||||
### CLI
|
||||
|
||||
One-liner command.
|
||||
+ One-liner command.
|
||||
|
||||
+ Save chat data to html with embedded custom emojis.
|
||||
|
||||
+ Show chat stream (--echo option).
|
||||
|
||||
Save chat data to html with embedded custom emojis.
|
||||
Show chat stream (--echo option).
|
||||
```bash
|
||||
$ pytchat -v https://www.youtube.com/watch?v=uIx8l2xlYVY -o "c:/temp/"
|
||||
$ pytchat -v uIx8l2xlYVY -o "c:/temp/"
|
||||
# options:
|
||||
# -v : Video ID or URL that includes ID
|
||||
# -o : output directory (default path: './')
|
||||
@@ -38,7 +40,7 @@ $ pytchat -v https://www.youtube.com/watch?v=uIx8l2xlYVY -o "c:/temp/"
|
||||
```
|
||||
|
||||
|
||||
### On-demand mode with simple non-buffered object.
|
||||
### Fetch chat data (see [wiki](https://github.com/taizan-hokuto/pytchat/wiki/PytchatCore))
|
||||
```python
|
||||
import pytchat
|
||||
chat = pytchat.create(video_id="uIx8l2xlYVY")
|
||||
@@ -47,7 +49,8 @@ while chat.is_alive():
|
||||
print(f"{c.datetime} [{c.author.name}]- {c.message}")
|
||||
```
|
||||
|
||||
### Output JSON format (feature of [DefaultProcessor](DefaultProcessor))
|
||||
|
||||
### Output JSON format string (feature of [DefaultProcessor](https://github.com/taizan-hokuto/pytchat/wiki/DefaultProcessor))
|
||||
```python
|
||||
import pytchat
|
||||
import time
|
||||
@@ -58,35 +61,21 @@ while chat.is_alive():
|
||||
time.sleep(5)
|
||||
'''
|
||||
# Each chat item can also be output in JSON format.
|
||||
for c in chat.get().sync_items():
|
||||
for c in chat.get().items:
|
||||
print(c.json())
|
||||
'''
|
||||
```
|
||||
|
||||
|
||||
### other
|
||||
#### Fetch chat with buffer.
|
||||
[LiveChat](https://github.com/taizan-hokuto/pytchat/wiki/LiveChat)
|
||||
+ Fetch chat with a buffer ([LiveChat](https://github.com/taizan-hokuto/pytchat/wiki/LiveChat))
|
||||
|
||||
#### Asyncio Context
|
||||
[LiveChatAsync](https://github.com/taizan-hokuto/pytchat/wiki/LiveChatAsync)
|
||||
+ Use with asyncio ([LiveChatAsync](https://github.com/taizan-hokuto/pytchat/wiki/LiveChatAsync))
|
||||
|
||||
#### [YT API compatible chat processor]https://github.com/taizan-hokuto/pytchat/wiki/CompatibleProcessor)
|
||||
+ YT API compatible chat processor ([CompatibleProcessor](https://github.com/taizan-hokuto/pytchat/wiki/CompatibleProcessor))
|
||||
|
||||
### [Extract archived chat data](https://github.com/taizan-hokuto/pytchat/wiki/Extractor)
|
||||
```python
|
||||
from pytchat import HTMLArchiver, Extractor
|
||||
+ Extract archived chat data ([Extractor](https://github.com/taizan-hokuto/pytchat/wiki/Extractor))
|
||||
|
||||
video_id = "*******"
|
||||
ex = Extractor(
|
||||
video_id,
|
||||
div=10,
|
||||
processor=HTMLArchiver("c:/test.html")
|
||||
)
|
||||
|
||||
ex.extract()
|
||||
print("finished.")
|
||||
```
|
||||
|
||||
## Structure of Default Processor
|
||||
Each item can be got with `sync_items()` function.
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
pytchat is a lightweight python library to browse youtube livechat without Selenium or BeautifulSoup.
|
||||
"""
|
||||
__copyright__ = 'Copyright (C) 2019 taizan-hokuto'
|
||||
__version__ = '0.4.0'
|
||||
__version__ = '0.4.1'
|
||||
__license__ = 'MIT'
|
||||
__author__ = 'taizan-hokuto'
|
||||
__author_email__ = '55448286+taizan-hokuto@users.noreply.github.com'
|
||||
|
||||
@@ -132,7 +132,7 @@ class HTMLArchiver(ChatProcessor):
|
||||
return standard_b64encode(resp.content).decode()
|
||||
|
||||
def _set_emoji_table(self, item: dict):
|
||||
emoji_id = item['id']
|
||||
emoji_id = ''.join(('Z', item['id'])) if 48 <= ord(item['id'][0]) <= 57 else item['id']
|
||||
if emoji_id not in self.emoji_table:
|
||||
self.emoji_table.setdefault(emoji_id, self.executor.submit(self._encode_img, item['url']))
|
||||
return emoji_id
|
||||
|
||||
Reference in New Issue
Block a user