Advertisement
Wilfred-kun

Dailyverse scrape

Jul 22nd, 2018
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.97 KB | None | 0 0
  1. import bs4 as bs
  2. import urllib.request as request
  3. import re
  4. from subprocess import Popen
  5.  
  6.  
  7. SHOW_TIMEOUT = "50000"
  8.  
  9.  
  10. def scrape():
  11.     '''
  12.    Returns plain DIV text
  13.    '''
  14.    
  15.     source = request.urlopen("https://dailyverses.net/").read()
  16.     soup = bs.BeautifulSoup(source, 'lxml')
  17.  
  18.     text = soup.find_all('div', class_="bibleVerse3")[0].text
  19.  
  20.     return text
  21.  
  22.  
  23. def prepare(text):
  24.     '''
  25.    Splits plain DIV text into the verse and the biblebook+verse
  26.    '''
  27.  
  28.     split = re.split(r'(\.[A-Z])', text)
  29.     verse = "{}.".format(split[0])
  30.     passage = "{}{}".format(split[1][1], split[2])
  31.  
  32.     passage = re.split(r' \|', passage)[0]
  33.  
  34.     return verse, passage
  35.  
  36.  
  37. def show(verse, passage):
  38.     '''
  39.    Shows it on the top right corner
  40.    '''
  41.  
  42.     Popen(["notify-send", passage, verse, "-t", SHOW_TIMEOUT])
  43.  
  44.  
  45. def main():
  46.     text = scrape()
  47.     verse, passage = prepare(text)
  48.     show(verse, passage)
  49.  
  50.  
  51.  
  52. if __name__ == '__main__':
  53.     main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement