def scrape_whatsapp_and_analyze_db(): """ runs the whatsapp web scrapping procedure. :param db: the WhatsAppDB object """ # print("create driver") driver = Webdriver() # create new driver scraper = WhatsAppWebScraper.WhatsAppWebScraper(driver) # create new WhatsApp scraper scraper.scrape(DB) # scrape print("finished scraping,load headset instructions") driver.close() # close driver DB.convert_to_datetime() DB.run_data_analysis_and_store_results()
def __init__(self, webdriver): self.browser = Webdriver.getBrowser(webdriver) # Get browser self.browser.set_page_load_timeout(150) # Set timeout to 150 seconds self.browser.get("https://web.whatsapp.com/") # Navigate browser to WhatsApp page self.browser.execute_script(scrapingScripts.initJQuery()) # active the jquery lib self.scrapedContacts = [ ] # List of scraped contacts self.defaultAvatar = Image.open("defaultAvatar.jpg") self.user_whatsapp_name = None # what is the user's whatsapp outgoing messages name # How many contact we scraped already self.person_count = 0 self.group_count = 0 self.probably_hebrew_interface = True # Wait in current page for user to log in using barcode scan. self.wait_for_element('.infinite-list-viewport', 300)
"""Main file that records a Firefox page. Especially/originally made to record Zoom-lectures.""" import sys from Webdriver import Webdriver from utils import find_vacant_filename from FFmpeg_util import FFmpeg_util if len(sys.argv) != 2: raise Exception( "The script takes one command line argument: The url to record from.") url = sys.argv[1] # Get url from terminal argument. zoom = True if "zoom" in url else False # Zoom-recording True or False. open_webpage = Webdriver(url, zoom_recording=zoom).get_url().set_fullscreen() filename = find_vacant_filename() recorder = FFmpeg_util(filename) recorded = recorder.record_screen_with_audio(minutes=0.5) open_webpage.close_driver() recorded.compress_file().delete_uncompressed_file()