{"id":30430742,"url":"https://github.com/benz206/sentiment-analysis","last_synced_at":"2026-05-03T23:32:34.422Z","repository":{"id":298193284,"uuid":"997950969","full_name":"benz206/sentiment-analysis","owner":"benz206","description":"AI Sentiment Analysis for any given Topic","archived":false,"fork":false,"pushed_at":"2025-07-04T03:58:05.000Z","size":166,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-07-04T04:36:09.968Z","etag":null,"topics":["python","sentiment-analysis","streamlit"],"latest_commit_sha":null,"homepage":"https://benz-sentiment-analysis.streamlit.app/","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/benz206.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-06-07T14:50:13.000Z","updated_at":"2025-07-04T03:58:08.000Z","dependencies_parsed_at":"2025-06-09T22:40:25.709Z","dependency_job_id":null,"html_url":"https://github.com/benz206/sentiment-analysis","commit_stats":null,"previous_names":["benz206/sentiment-analysis"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/benz206/sentiment-analysis","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/benz206%2Fsentiment-analysis","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/benz206%2Fsentiment-analysis/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/benz206%2Fsentiment-analysis/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/benz206%2Fsentiment-analysis/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/benz206","download_url":"https://codeload.github.com/benz206/sentiment-analysis/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/benz206%2Fsentiment-analysis/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":271681624,"owners_count":24802078,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-22T02:00:08.480Z","response_time":65,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["python","sentiment-analysis","streamlit"],"created_at":"2025-08-22T18:33:55.412Z","updated_at":"2026-05-03T23:32:29.403Z","avatar_url":"https://github.com/benz206.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Web Scraping + Sentiment Analysis\n\nYou can try out the final product [here](https://benz-sentiment-analysis.streamlit.app/).\n\nMy writeup is also at the bottom of this page.\n\n## Setup + Requirements\n\nJust clone, install reqs, I'm using Python `3.12.8`.\n\n```bash\ngit clone https://github.com/benz-206/sentiment-analysis.git\ncd sentiment-analysis\npip install -r requirements.txt\n\n# Running... Wow\npython3 src/main.py\n\n# For streamlit, you can also just run\nstreamlit run src/main.py\n```\n\n## Task\n\nCopied from the discord:\n\nTo get everyone started and aligned, here’s a task that blends web scraping and sentiment analysis:\n\nChoose a trending topic you’re interested in (e.g., interest rates, electric vehicles, Elon Musk, Champions League, etc.).\n1. Scrape recent news headlines or article summaries related to your topic using Python (sources like Google News, Yahoo News, Reddit, etc.).\n2. Perform sentiment analysis on the collected text using any method you prefer—VADER, TextBlob, HuggingFace models, etc.\n3. Summarize your findings in any format you like. This could include:\n    - A few bullet points describing sentiment trends\n    - A short writeup\n    - Visualizations (bar charts, word clouds, etc.)\n    - Even an interactive dashboard (e.g., Streamlit) if you’re feeling creative\n4. Share your results (code + summary/output) in the ⁠trial-submission channel by the end of Wednesday, June 11.\nDon't worry if you're new to this—it's designed to be a starter task, and we’ll be around to answer questions!\n\n## WriteUp\n\nThis was a fun little project to work on, given more time (midterms are coming up...) I would've definitely liked to try adding more features.\n\nHowever I'm still happy with my results. To try out my final product you can again go to [this link](https://benz-sentiment-analysis.streamlit.app/) and play around with it. I originally wanted to just analyze trends on Elon Musk, especially given his recent headlines and actions, but in general it was super easy to just modify the URL to scrape any topic so I ended up letting the user choose the topic.\n\nI also added a small feature so that the user can quickly change the number of pages they want to scrape. Afterwards the project will scrape the news and display the results in a few different ways. In general there will be 2 bar charts and a pie chart, each showing the distribution of sentiments. Unfortunately, for Elon Musk, he seemed to be largely negative.\n\nOne final small touch was logging and expandable sections for each article (datapoint), it has basically all the information I scraped along with the final sentiment scores from VADER. I also added a quick color to show the overall sentiment of the said article.\n\nOne feature I would've liked to add is a full scrape of the entire article and not just the title and short description provided. I did give it a quick short but given my time constraints I just decided to leave it as is. Another feature I think would be cool is maybe an integration with stocks and trying to correlate the sentiment of the news with the stock price. I did see someone else do something similar, however I again didn't have the time.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbenz206%2Fsentiment-analysis","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbenz206%2Fsentiment-analysis","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbenz206%2Fsentiment-analysis/lists"}