def run(): email = read_decrypt(efile) password = read_decrypt(pfile) cemail = str(email) cpassword = str(password) print(cemail) print(cpassword) with open("browserdetails.txt", "r") as f: data = [line.rstrip('\n') for line in f] browser = data[0].lower() gpu = data[1].lower() if browser == 'edge': try: requests.get("http://www.google.com") print('Connection Found') options = EdgeOptions() options.use_chromium = True options.add_argument("--start-maximized") if gpu == 'no': options.add_argument("window-size=1920,1080") options.add_argument("--headless") options.add_argument("disable-gpu") options.add_argument("-inprivate") driver = Edge(executable_path='msedgedriver.exe', options=options) driver.get('https://gokano.com/') try: email = WebDriverWait(driver, 3).until( EC.presence_of_element_located((By.NAME, 'email'))) print("Page is ready!") email.send_keys(cemail) password = driver.find_element_by_name('password') password.send_keys(cpassword) time.sleep(3) button = driver.find_element_by_class_name('submit') button.click() print('Login sucessful') except TimeoutException: print("Error logining in") #[email protected] time.sleep(3) driver.quit() time.sleep(3) try: cdp = driver.find_element_by_link_text('Collect daily points') cdp.click() write_time() time.sleep(3) driver.quit() except NoSuchElementException: print('Already collected') time.sleep(3) driver.quit() print('Automation completed') time.sleep(3) driver.quit() except requests.ConnectionError: print('Could not connect')
username = driver.find_element_by_xpath('//input[@name="session[username_or_email]"]') username.send_keys(user) password = driver.find_element_by_xpath('//input[@name="session[password]"]') password.send_keys(my_password) password.send_keys(Keys.RETURN) sleep(1) # find search input and search for term search_input = driver.find_element_by_xpath('//input[@aria-label="Search query"]') search_input.send_keys(search_term) search_input.send_keys(Keys.RETURN) sleep(1) # navigate to historical 'latest' tab driver.find_element_by_link_text('Latest').click() # get all tweets on the page tweet_ids = set() last_position = driver.execute_script("return window.pageYOffset;") scrolling = True while scrolling: page_cards = driver.find_elements_by_xpath('//div[@data-testid="tweet"]') for card in page_cards[-15:]: if card is not None: tweet = get_tweet_data(card) if tweet is not None: tweetL = list(tweet) tweetL.append(x) tweetL.append(j) tweet = tuple(tweetL)
def run(): email = read_decrypt(efile) password = read_decrypt(pfile) cemail = str(email) cpassword = str(password) with open("browserdetails.txt", "r") as f: data = [line.rstrip('\n') for line in f] browser = data[0].lower() gpu = data[1].lower() if browser == 'edge': try: requests.get("http://www.google.com") print('Connection Established.') l1 = tk.Label(top, text=" Connection Established. ", bg='white') l1.config(font=('helvetica', 15, "bold")) canvas.create_window(200, 410, window=l1) options = EdgeOptions() options.use_chromium = True options.add_argument("--start-maximized") if gpu == 'no': options.add_argument("window-size=1920,1080") options.add_argument("--headless") options.add_argument("disable-gpu") options.add_argument("-inprivate") driver = Edge(resource_path('msedgedriver.exe'), options=options) driver.get('https://gokano.com/') try: email = WebDriverWait(driver, 3).until( EC.presence_of_element_located((By.NAME, 'email'))) print("Page is ready!") l1 = tk.Label(top, text=" Page is Ready. ", bg='white') l1.config(font=('helvetica', 15, "bold")) canvas.create_window(200, 410, window=l1) email.send_keys(cemail) password = driver.find_element_by_name('password') password.send_keys(cpassword) time.sleep(3) button = driver.find_element_by_class_name('submit') button.click() try: driver.find_element_by_class_name('gokan-alert-error') print("Invalid Credintials") l1 = tk.Label(top, text=" Invalid Credintials. ", bg='white') l1.config(font=('helvetica', 15, "bold")) canvas.create_window(200, 410, window=l1) time.sleep(3) driver.quit() except NoSuchElementException: print('Login sucessful') l1 = tk.Label(top, text=" Login Successful. ", bg='white') l1.config(font=('helvetica', 15, "bold")) canvas.create_window(200, 410, window=l1) except TimeoutException: print("Login Error!") l1 = tk.Label(top, text=" Login Error! ", bg='white') l1.config(font=('helvetica', 15, "bold")) canvas.create_window(200, 410, window=l1) # [email protected] time.sleep(3) driver.quit() time.sleep(3) try: cdp = driver.find_element_by_link_text('Collect daily points') cdp.click() write_time() time.sleep(3) driver.quit() except NoSuchElementException: print('Already collected') l1 = tk.Label(top, text=" Points Already Collected. ", bg='white') l1.config(font=('helvetica', 15, "bold")) canvas.create_window(200, 410, window=l1) time.sleep(3) driver.quit() print('Automation completed') l1 = tk.Label(top, text=" Automation Completed. ", bg='white') l1.config(font=('helvetica', 15, "bold")) canvas.create_window(200, 410, window=l1) time.sleep(3) write_time() driver.quit() except requests.ConnectionError: print('Could not connect') l1 = tk.Label(top, text=" Couldn't Connect. ", bg='white') l1.config(font=('helvetica', 15, "bold")) canvas.create_window(200, 410, window=l1) driver.quit()
def scrape(secure=False): options = EdgeOptions() options.use_chromium = True driver = Edge(options=options) query = input("▁ ▂ ▄ ▅ ▆ ▇ █ 𝐄𝐧𝐭𝐞𝐫 𝐭𝐡𝐞 𝐓𝐞𝐱𝐭 𝐭𝐨 𝐬𝐞𝐚𝐫𝐜𝐡 █ ▇ ▆ ▅ ▄ ▂ ▁\n\n ") print("\n𝘚𝘵𝘢𝘳𝘵𝘦𝘥 𝘚𝘤𝘳𝘢𝘱𝘪𝘯𝘨 ↦↦↦↦↦↦↦↦↦↦") print("\nPlease Wait ............\n") driver.get("https://www.twitter.com/login") driver.maximize_window() username = driver.find_element_by_xpath( '//input[@name="session[username_or_email]"]') username.send_keys("*****@*****.**") #password=getpass() userpas = driver.find_element_by_xpath( '//input[@name="session[password]"]') userpas.send_keys('-----') userpas.send_keys(Keys.RETURN) sleep(2) if secure: username = driver.find_element_by_xpath( '//input[@name="session[username_or_email]"]') username.send_keys("031-----") userpas = driver.find_element_by_xpath( '//input[@name="session[password]"]') userpas.send_keys('----') userpas.send_keys(Keys.RETURN) sleep(2) search = driver.find_element_by_xpath( '//input[@aria-label="Search query"]') search.send_keys('"پاک فوج" lang:ur -filter:links filter:replies') search.send_keys(Keys.RETURN) sleep(1.5) driver.find_element_by_link_text("Latest").click() data = [] tweet_ids = set() last_position = driver.execute_script("return window.pageYOffset;") scrolling = True while scrolling: posts = driver.find_elements_by_xpath('//div[@data-testid="tweet"]') for post in posts[-15:]: tweet = scrap_tweets(post) if tweet: tweet_id = "".join(tweet) if tweet_id not in tweet_ids: tweet_ids.add(tweet_id) data.append(tweet) scroll_attempt = 0 while True: driver.execute_script( "window.scrollTo(0,document.body.scrollHeight);") sleep(1) curr_position = driver.execute_script("return window.pageYOffset;") if last_position == curr_position: scroll_attempt += 1 if scroll_attempt >= 3: scrolling = False break else: sleep(2) else: last_position = curr_position break return data
curtidas_num = card.find_element_by_xpath( './/div[@data-testid="like"]').text tweet = (apelido, username, data_postagem, respondendo, comentario, link_img, comentarios_num, retweets_num, curtidas_num) return tweet options = EdgeOptions() options.use_chromium = True options.headless = True driver = Edge(options=options) driver.get('https://twitter.com/search?q=vacina&src=typed_query') driver.find_element_by_link_text('Mais recentes').click() data = [] tweet_ids = set() last_position = driver.execute_script("return window.pageYOffset;") scrolling = True scroll_attempt = 0 i = 0 while scrolling: page_cards = driver.find_elements_by_xpath('//div[@data-testid="tweet"]') for card in page_cards[-15:]: tweet = get_tweet_data(card) if tweet: tweet_id = ''.join(tweet) if tweet_id not in tweet_ids: tweet_ids.add(tweet_id)
def main(): args = sys.argv f = open(args[4], "r") Lines = f.readlines() names, profession, nationality, job = [], [], [], [] for line in Lines: array = line.split(",") names.append(array[0]) profession.append(array[1]) nationality.append(array[2]) job.append(array[3].replace("\n", "")) for name in names: print("Query:", name, ".\nProcessing...") user = '******' search_term = f'{name} filter:verified' options = EdgeOptions() options.use_chromium = True driver = Edge(options=options) driver.get('https://www.twitter.com/login') driver.maximize_window() sleep(2) username = driver.find_element_by_xpath( '//input[@name="session[username_or_email]"]') username.send_keys(user) password = driver.find_element_by_xpath( '//input[@name="session[password]"]') password.send_keys('donkey123') password.send_keys(Keys.RETURN) sleep(1) search_input = driver.find_element_by_xpath( '//input[@aria-label="Search query"]') search_input.send_keys(search_term) search_input.send_keys(Keys.RETURN) sleep(1) driver.find_element_by_link_text('People').click() sleep(3) driver.find_element_by_xpath( '//div[@class="css-1dbjc4n r-j7yic r-qklmqi r-1adg3ll r-1ny4l3l"]' ).click() sleep(3) data = [] tweet_data = [] start = 0 end = 500 for i in range(0, 5): sleep(1) cards = driver.find_elements_by_xpath( '//div[@data-testid="tweet"]') card = cards[i] tweet = get_tweet_data(card) for card in cards: data = get_tweet_data(card) if data: tweet_data.append(data) driver.execute_script(f'window.scrollTo({start},{end});') start += 500 end += 500 driver.close() tweets = set(tweet_data) write_to_csv(name, tweets) df = pd.read_csv(f'{name}.csv') Twitter_sentiment = Twitter_sentiment_model(df) Twitter_toxic = Twitter_toxic_model(df) Big5 = Big5_model(df) create_report(name, tweets, Twitter_sentiment, Twitter_toxic, Big5)