diff options
-rw-r--r-- | main.py | 46 |
1 files changed, 46 insertions, 0 deletions
@@ -0,0 +1,46 @@ +from bs4 import BeautifulSoup +from datetime import date +from mastodon import Mastodon + +import sys +import requests + +# Constant URL to Hacker News +base_url = "https://news.ycombinator.com/" + +# Calculate the date 10 years ago as %Y-%m%d +year = int(date.today().strftime("%Y")) - 10 +today = str(year) + date.today().strftime("-%m-%d") + +# Request the page +r = requests.get(base_url + 'front?day='+today) + +# Parse the html +soup = BeautifulSoup(r.text, features="lxml") + +# Get the post specified by the first argument +items = soup.find_all("tr", "athing")[:3] +index = int(sys.argv[1]) +item = items[index] +story = item.find("a", "storylink") + +# Parse the title and link from the post +title = story.text +link = story["href"] +if "http" not in link: + link = base_url + link + +# Find the comments link from the row +comment_el = item.next_sibling +comment_link = base_url + comment_el.find_all("a")[-1]["href"] + +# Format the final string +final = title + "\n" + link + "\n"+comment_link + +# Connect to Mastodon and send a toot +mastodon = Mastodon( + access_token = 'hndecade_usercred.secret', + api_base_url = 'https://botsin.space' +) +mastodon.toot(final) + |