mattwright324 / youtube-comment-suite Goto Github PK
View Code? Open in Web Editor NEWDownload YouTube comments from numerous videos, playlists, and channels for archiving, general search, and showing activity.
License: MIT License
Download YouTube comments from numerous videos, playlists, and channels for archiving, general search, and showing activity.
License: MIT License
I tried to run last release of application. But it did not run. After running from CMD it shows error: Error: Could not find or load main class io.mattw.youtube.commentsuite.FXMLSuite. What could cause that?
I deleted a channel from the program, and it removed it from the group - however, the videos are still there as are the comments.
The video can be selected within the group still and all comments still appear.
I've tried cleaning the DB but it doesn't seem to get rid of them, also have tried deleting an entire group which does remove them.
When pasting up to 5,000 or more URLs in the Add new item(s)
modal bulk add text box and then clicking the Add Item(s)
button, it takes a long time, approximately 20-30 minutes.
What causes this is that it will check each video, playlist, channel URL individually to get details and display the right text and thumbnail in the group manager. A new option to skip this checking for faster adding and just display the raw IDs in the group manager instead may be an option.
This is a more extreme use case so this option should be disabled by default.
Doesn't work. Tried adding a video to the group (this one: https://www.youtube.com/watch?v=SKricIeeru0), but I get a 403 Access Denied error, stating: "quotaExceeded".
I tried it with other videos. No luck as well. Very disappointing.
Minor but practical benefit, in case it's possible to load all comments automatically when selecting a different group and when switching from All Items to a specific Video.
Otherwise one needs to always press the Search button with empty filters. ๐
Hello,
Thank you very much for your work on this project. I code as a hobby and was looking for an easy way to aggregate and analyze comments. This seemed perfect.
Unfortunately, the comments export function to JSON does not seem to support Korean. Perhaps the format is not UTF-8?
I've attached how it looks in Visual Studio Code. Korean shows up fine in the interface itself.
It would be great to display more information in the group manager section by having a hover-point tooltip on each data point showing the time frame of that point (1/7/2018 - 1/14/2018) and value of that point (n comments).
It appears that comment-replies are appearing in the database journal file but they are not being committed to the database.
When refreshing from a playlist url, no comments are gathered
It would be great if you could redesign the comment viewer. It should have operation to toggle the tree with all replies (all open or all closed). Replies should have indentation to easily separate them in the eye or central comments and replies could have different color label or smt.The line height of each comment should be much less, and there is plenty of space if you take out the date and the user name to the sides. Thanks
The YouTube API comes with limits for how much it can be used. This application is very heavy on that quota limit depending on what channel(s) or video(s) it is being used for.
When I created this application, the default units per day was set to 1,000,000
. As shared in the screenshots below, the limit was automatically reduced several times. However, as of mid-2020 it seems to have been brought back up to 1,000,000
and queries are even lighter now than they were in the past for list
actions which make up the majority of this app.
Given my API key were to frequently hit the limit, I could potentially request for an increase but I'm not positive about that working.
As reported in the Google Developers Console,
Daily quotas reset at midnight Pacific Time (PT).
If you get errors related to the quota being reached, waiting a day should solve your problems.
However, I see this happening more frequently as more people use this application.
Edit 11/7/2019; I just received an automated email from YouTube that all of my projects daily quotas had been 'adjusted' and now the default key was reduced and is now sitting at 650,000 instead of 1,000,000.
Edit: 5/9/2020; Around February 2020 more automated emails from YouTube had informed me that the quota had been 'adjusted' again down to 325,000.
Edit 8/5/2020; Fairly recently I got an email notifying me that they updated the quota unit system being lighter and when checking the project is now back to 1 million. This is good news!
Edit 4/13/2021; It seems that my changes in 1.4.5 and 1.4.6 have worked and quota usage has not hit the limit once in the past 30 days!
It would make it easier to be able to search via youtube link, if that where possible?
As per #4
In the drop down under Relevance, Date, Title, Rating, Views to include one with "Link". :)
P.S. Sometimes even copy/paste of the entire title is not finding the exact video match, probably due to special characters etc.
Would it be possible to add a blacklist feature for:
Having this feature would lower the amount of needless API calls.
Thanks!
When I hit search button, nothing happens.
Is there any way to save all of the generated comments in a way where they can be viewed in their entirety later on?
The program has an export function but no import function.
I'm trying to archive all of a channels video comments, but want to make sure comments won't change/be deleted based on the current state of the channel in the future.
So since many people are using your application and we see the error "quota exceeded" many times, I guess it would be awesome to add a Pause button beside Stop so that we can use our own API key, and then for instance pause the fetch process and wait until 00:00 pacific time that quota resets and then resume. So that it doesn't have to start over from first and do it all over again and check for newest comments. (which is a noticeable amount for videos with hundreds of thousands of comments.)
I myself really don't care about the new comments, I just want to reach the end as soon as possible, a pause/resume button would be nice for me. If anyone wants to like refresh the comments and see the new ones as well, they can simply just refresh it.
Hope I could explain it well
P.S: The Pause button will save the nextPageToken (or idk, any other parameter that can identify its current position in comments) in its memory and in case of Resume, will start from it was paused (it will NOT check for newest comments again)
When selecting lots of channel names, right clicking, copying the names it removes the duplicates - is there a way to turn this off however so it copies every name?
Thanks
i just download it and i not found the main running .jar file
Hi,
I have downloaded and extracted the v.1.3.0 zip file given here and have attempted to install the .jar file it contains by running:
java -jar youtube-comment-suite.jar
However, this only returns the following error:
Could not find or load main class mattw.youtube.commentsuite.CommentSuite
Do you know what could be going wrong? Are there other files I need to download? For context, I am using Ubuntu 16.04
Thanks
Ability to add a list of urls to a group would be very helpful.
While my custom library works, it is incomplete and has been mostly limited to the listing functions. Google's Java API will be complete and will make it easier to implement suggestions such as #12 which require functions not in my library.
This will also make it slightly easier for others to pull down the project and build it as it would no longer require pulling down/downloading my custom library. All dependencies can be managed through Maven.
This seems to happen when you run the jar as executable chmod +x youtube-comment-suite.jar
and double-clicking the jar but not when running via terminal java -jar youtube-comment-suite.jar
.
YouTube allows users to set up comment filters and/or to enable YouTube's comment filtering. This "holds for review" all comments that (a) meet filter criteria or (b) are determined by YouTube to be potentially inappropriate. YouTube separately filters - and holds for review - comments that it deems potentially spam.
Unfortunately / fortunately, my channel is at the point that I can't manage those comments using YouTube's interface. There are thousands of comments held for review every day and YouTube's comment management system royally sucks at bulk actions. (Like, trying to approve more than a dozen comments at once is hit-or-miss.)
Does the API allow for* the integration of comment review and approval / denial into YouTube Comment Suite?
Regardless, thank you for making this program. It's great, and was well worth the time it took me to figure out how to install and use Java8 on my MacBook Pro yesterday.
*I know that there's a big difference between "possible" and "you're going to do it."
Hello,
Nice app! When new items are added to a group, I would expect that the comments for those items are retrieved, instead of requiring a "Refresh", which would re-download comments for all items in the group.
E.g. I add 1 item to a group with 30 existing items. I just need to get the comments for this recent item and not download comments for all existing items.
I have a windows 10 machine however I ran into the same issue so I feel as it is not the machine but I cannot find the proper jar to run? when I run from just any old file it says that it cannot find a main method.
Hi,
Thanks for publishing this code that I may find very useful if I know how to use it :-)
My first question is: how to build this code? I downloaded the java source code, but can see any build instructions.
Thanks.
Hi there,
i downloaded the app today and installed Java 8 from the default download site (Oracle) you have linked. The app starts fine but i can't add a Google Account.
It opens the screen with the login but the "next" button does nothing, probably a Javascript error but i have no access to console or anything so i can't know exactly what is happening.
Next i tried adding a new API Key, but even this gives a 403 error (as i saw in the Google API console)
youtube.api.v3.V3DataVideoService.List this service is accesed but with no results when i search
Java version: 8.261
I am running this from Windows 10
It would be nice to have some documentation on how to use this application in more detail. The wiki tool could be used for this purpose. It should show how to do things in more detail such as the two different ways to create a group, two different ways to add items to a group, managing that group in the group manager, and settings options.
The bottom of the current readme file is a condensed but incomplete documentation of how to use the tool with assumptions that things make sense.
[
{
"id": "UgzXyVGsIiMcZ9Bs-M54AaABAg",
"user": "abc",
"date": "4 days ago",
"timestamp": 1558387486139,
"commentText": "bla bla bla",
"likes": 1,
"hasReplies": true,
"numberOfReplies": 2,
"replies": [
{
"id": "UgzXyVGsIiMcZ9Bs-M54AaABAg.8vAG3f1HbIR8vARqlHhxyM",
"user": "def",
"date": "3 days ago",
"timestamp": 1558473886511,
"commentText": "@abc ha ha ha",
"likes": 0
},
{
"id": "UgzXyVGsIiMcZ9Bs-M54AaABAg.8vAG3f1HbIR8vBliOzYonT",
"user": "ghi",
"date": "3 days ago",
"timestamp": 1558473886512,
"commentText": "@def --- no no no!.",
"likes": 0
}
]
}
]
Is it possible for you to add a way to export comments into a single file, this way I could take it for use in excel or other programs. Trying to combine thousands of .jsons is a bit too difficult
Either into a single .csv or a .json would be great or just some other way which would do the same trick
Would it be possible please to add a way to sort and search via channel ID, sometimes names are very similar and using the 'name like' function brings up others, also sometimes people change their channel names and the changes don't always reflect in the program.
As above, if there would be anyway to translate the comments (and then maybe store the translated data) this would be great.
Your work seems great.
I am using Ubuntu and am not good in java, but I follow all your step but dont know how to run. Please Guide. Thanks in advance.
Currently, this software works the best when running it with Java 8.
There are some visual changes when using Java 9 or 10 with regards to JavaFX application scaling but should work the same for the most part.
With Java 9, the module system is introduced. This has some issues regarding dependencies and whether they have been made modular. Meaning, while the application can be ran in 9 and 10, it can't be built against 9 or 10 yet.
With Java 11, they remove JavaFX completely and it must be included as additional jars bundled as libraries with the application.
Currently the module system is the only thing holding back upgrading and building against Java 11, their current LTS version.
For small dialog boxes, add default button and cancel button.
Sometimes when refreshing a group, and it happens not often, the refresh process will seemingly never end but it appears that it finished because the bar is to the end and the comments number is not changing anymore.
This appears to be an issue caused by threading and for some reason the thread(s) causing the issue are not ending.
First of all @mattwright324, well done on this useful app and UI!
The fact that people delete comments just because they don't like some replies (and re-post their comments) or even entire videos being deleted, requires a proper comments archive solution. :)
However I don't see a way how to import archived comments unless I missed something? Perhaps any plans for this?
I think this would be by far the most powerful tool if it could save different time stamps of an entire video comments with replies, with an easy way to select different snapshots for later review. (It doesn't need to have a highlight for comparison of changes, all though it would be ideal hehe). Imagine!
Everything is ok in the app itself but when you export comments of a certain video, "commentDate" of replies are NOT getting exported. If you check out the threads you can clearly see the time underneath every reply but there is no such thing when you export them. Hope it's clear enough. In case it's still unclear, fetch a random video, look at its comments and then check its threads. You can see every comment and reply has a date of post. Now export it with Condensed mode and check the exported file again. You can see commentDate exists for the comment itself but its replies have no such things.
Can you fix this please?
Update: Alright so I played around a little bit and the problem seems to be in export. I opened 'commentsuite.sqlite3' and everything was there as expected. But comment_date of replies seems to be missing from somewhere in the export process.
The youtube-comment-suite-1.4.2 jar file won't open when double clicked on.
there is no youtube-comment-suite.jar file in zip
Hey Matt,
It would be super helpful if there was any possibility of you being able to please add an option to categorize (or group) the comments individually or on bulk selection? Ideally so I could click a bunch of comments (on the 'Search Comments' tab), then select a custom group to move them to.
Then an option on the 'Search Comment's tab' to only search certain groups (the custom ones, plus any not categorized) i.e. so I can only display comments which aren't yet categorized.
You've done an incredible job on this! :)
Thanks!
Hey Matt,
First of all thanks for making this great app! It is literally the most convenient app out there.
But there is only one missing feature that would make this app excellent, and that is to make a new way to view comments by the video, what I mean is, now when you want to view the comments you either need to search for the specific comment or view the whole library.
If there is a new menu that displays a video list and when you click that video the comments related to it would appear, that would be an amazing addition to the app!
thanks again for your work!
Hi, since you updating this app, would be possible to make action to import groups, channels and comments from any previous version?
Greetings from Lancaster!
I'm new to Github so all this is new to me but have been running ubuntu for 9+ years. I went through your directions, and checked the java versions, and it said they were installed, but I ran the "apt install" again, and it said they were already installed. I extracted the zip and tried running the youtube-comment-suite-1.4.2.jar and it said
youtube-comment-suite-1.4.2.jar: command not found
I tried a few options:
User@computer:~/temp/youtube-suite$ .youtube-comment-suite-1.4.2.jar
.youtube-comment-suite-1.4.2.jar: command not found
User@computer:~/temp/youtube-suite$ ./youtube-comment-suite-1.4.2.jar
invalid file (bad magic number): Exec format error
User@computer:~/temp/youtube-suite$ java -jar youtube-comment-suite-1.4.2.jar
Error: Could not find or load main class jar
User@computer:~/temp/youtube-suite$ sudo java -jar youtube-comment-suite-1.4.2.jar
Error: Could not find or load main class io.mattw.youtube.commentsuite.FXMLSuite
User@computer:~/temp/youtube-suite$ sudo java -jar ./youtube-comment-suite-1.4.2.jar
Error: Could not find or load main class io.mattw.youtube.commentsuite.FXMLSuite
I also did a change mod to 722, 755 and 777 but still none of these worked. Do you have any suggestions?
I am using English Windows 10 Home. When I refresh, to download new comments, in the middle of grabbing, error comes out: "Grabbing Video Data (FATAL)". I attached log file.
output-20190826.log
I tried moving various configurations of files (including the sqlite db) over from my current working copy, but my groups are still not appearing. Thanks!
i choose group and a video i tried on less viewed videos with only 6 comments, but when i click seach nothing happens
As above, if there would be a way to include the hearts, that a youtube channel is giving . If it would be possible, it would be nice to sort by given hearts and display them on the comments, who have one.
When renaming groups, the old name will still appear in the drop down list in the manage groups or comment search sections. The correct name displays after selecting the old-name, just not updating in the drop-down list.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.