Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import feedparser
- import pprint
- import sys
- import traceback
- import requests
- sys.path.append("/home/$USER/rssfeed/venv/lib/python3.9/site-packages/pushbullet/")
- from pushbullet import Pushbullet
- def send_pb_msg(title, msg):
- ACCESS_TOKEN = ('*****HIDDEN_TOKEN_PUSHBULLET*******')
- try:
- pb = Pushbullet(ACCESS_TOKEN)
- pb.push_note(title, msg)
- except Exception as e:
- print(f"Error sending Pushbullet message: {e}")
- traceback.print_exc()
- key_words = ['e', 'a']
- try:
- f = open('output.txt', 'r', encoding='utf-8')
- urls = f.readlines()
- urls = [url.rstrip() for url in urls]
- f.close()
- except Exception as e:
- print(f"Error reading output.txt: {e}")
- traceback.print_exc()
- def contains_wanted(in_str):
- for wrd in key_words:
- if wrd.lower() in in_str:
- return True
- return False
- def url_is_new(urlstr):
- if urlstr in urls:
- return False
- else:
- return True
- rss = 'https://www.lowendtalk.com/categories/offers.rss'
- headers = {
- 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36'
- }
- try:
- response = requests.get(rss, headers=headers)
- response.raise_for_status()
- feed_content = response.text
- feed = feedparser.parse(feed_content)
- if 'bozo' in feed and feed.bozo:
- print(f"Error parsing feed: {feed.bozo_exception}")
- else:
- print(f"Feed parsed successfully: {len(feed['entries'])} entries found.")
- except Exception as e:
- print(f"Error fetching or parsing RSS feed: {e}")
- traceback.print_exc()
- output = open('output.txt', 'a', encoding='utf-8')
- for key in feed["entries"]:
- try:
- title = key['title']
- url = key['links'][0]['href']
- if contains_wanted(title.lower()) and url_is_new(url):
- print(f'{title} - {url}'.encode("utf-8"))
- msgtitle = title
- msg = '{}\n{}'.format(title, url)
- send_pb_msg(msgtitle, msg)
- with open('output.txt', 'a') as f:
- f.write('{}\n'.format(url))
- except Exception as e:
- print(f"Error processing entry: {e}")
- traceback.print_exc()
Advertisement
Add Comment
Please, Sign In to add comment