Staż/Praktyki Python [Warszawa]

0

To mój pierwszy post na forum więc przy okazji witam wszystkich :)

Czy ktoś z was wie do jakie firmy przyjmują w Warszawie praktykantów? Jestem osobą bez doświadczenia z podstawową znajomością Pythona i chciałbym się go lepiej nauczyć nawet bezpłatnie pod okiem specjalistów. Po przejrzeniu internetów natknąłem się na Codilime.

Z góry dziękuję wszystkim za odpowiedź :)

0

Przedstaw co do tej pory zrobiłeś. Masz może bloga / github?

0

Wiem , że trochę trwało to zanim odpowiedziałem, ale kilka spraw wypadło i przy okazji święta, wszystko co dotąd napisałem zazwyczaj było na potrzeby mojej pracy i nie było dopieszczonym kodem tylko takim , żeby po prostu działał :/ . Głównie były to programy typu puść pinga jak coś odpowie to wyślij maila do mnie na telefon i otwórz przeglądarkę i wpisz coś. Ostatnio napisałem prosty programik ( przy okazji wielka prośba o sprawdzenie kodu ) , program na początku miał tylko składać życzenia urodzinowe na Facebooku, ale z biegiem czasu dopisałem jeszcze funkcję w której sprawdza ile razy wybrana osoba sprawdza w zdefiniowanym przez użytkownika przedziale czasowym obecność na messangerze. Za każdym razem jak osoba przestaje być aktywna na messangerze zapisywany jest do listy czas zdarzenia a po upływie zdefiniowanego wcześniej czasu jest wyświetlana lista czasów kiedy osoba była aktywna.

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time, re , datetime

time_to_stalk = ""

while not time_to_stalk:
    time_to_stalk = input("Write a end time of stalking friend in format like 13:46 or 07:23 -- ")

    if bool(re.search(r'\d\d:\d\d', time_to_stalk)) == True:
        print("Correct Format")

    else:
        print("Wrong format")
        time_to_stalk = ""


login = input("Write your login to facebook -- ")
password = input("Write your password to facebook -- ")

chrome_options = webdriver.ChromeOptions()
prefs = {"profile.default_content_setting_values.notifications" : 2}
chrome_options.add_experimental_option("prefs",prefs)
browser = webdriver.Chrome(chrome_options=chrome_options)

def logging(login,password):

# Firstly application is log to the Facebook.

    browser.get("https://www.facebook.com/")
    browser.find_element_by_id("email").send_keys(login)
    browser.find_element_by_id("pass").send_keys(password)
    browser.find_element_by_id("loginbutton").click()
    browser.maximize_window()

def birthsday_wishes():

# Nextly it checks if there is any  birthsday reminder on main page of Facebook

    while 'class="fbRemindersTitle"' in browser.page_source:
        browser.find_element_by_class_name("fbRemindersTitle").click()
        browser.find_element_by_name("message_text").send_keys("Happy Birtshday :)")
        browser.find_element_by_name("message_text").send_keys(Keys.RETURN)
        browser.refresh()
        print("wished")

    else:
        print("There is no birthday")

def stalker(time_to_stalk):

    browser.find_element_by_xpath('//*[@id="navItem_217974574879787"]/a/span').click()
    time.sleep(10)
    browser.find_element_by_class_name("_58al").click()
    time.sleep(10)
    Friends_List = []
    friend_number = 0
    Friends = browser.find_elements_by_class_name("_364g")

    for friend in Friends:
        Friends_List.append(friend.text)
        friend_number += 1
        print(str(friend_number) + ". " + friend.text)

    chosen_number = int(input("Choose a friend's number to stalk him :) : "))
    chosen_friend = Friends_List[chosen_number - 1]
    print(chosen_friend)
    browser.find_element_by_class_name('_58al').send_keys(chosen_friend)
    time.sleep(10)
    browser.find_element_by_xpath('//*[@id="js_e"]/div/div/div[1]/span[1]/div/div[2]/ul/li[1]').click()
    time.sleep(10)
    activity = browser.find_element_by_class_name("_2v6o")
    print(activity.text)
    Report = []

    while datetime.datetime.now().strftime("%H:%M") != time_to_stalk:

        if "Aktywny(a) 1 min temu" in browser.page_source:
            times = datetime.datetime.now().strftime("%H:%M:%S")
            print(times)
            Report.append(times)
            time.sleep(120)
        elif "Aktywny(a)" not in browser.page_source:
            print(chosen_friend, " does not use messanger .")
            browser.close()
            exit()
        else:
            print(chosen_friend, " Is not on messanger now.")
            time.sleep(30)

    if len(Report) == 0:
        print(chosen_friend," has not logged to Facebook")

    else:
        print(chosen_friend, "has logged to Facebook at:")
        for hit in Report:
            print(hit)

def main():

    logging(login,password)
    stalker(time_to_stalk)
    birthsday_wishes()
    print(("End of application"))
    browser.quit()

main()

Planuje jeszcze dopisać kod który wysyła maila z listą czasów aktywności na messangerze przed zakonczeniem programu.

1 użytkowników online, w tym zalogowanych: 0, gości: 1