Évitons les abus tels que ne pas accéder à ce Essayez de ne pas attaquer le système de classe universitaire tel que manaba, et suivez les méthodes d'accès.
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time
from datetime import datetime
four_time=str(datetime.now().strftime("%H%M"))
four_time=int(four_time)
#Préparation des données(Changer en fonction de votre sujet)
data={"Monday":{1:"Théorie du bien-être familial",3:"Théorie du bien-être et du milieu de vie"},"Tuesday":{2:"Plaidoyer et tutelle des adultes"},"Wednesday":{2:"Exercice spécialisé en protection sociale I"},
"Thursday":{1:"Systèmes et services de santé mentale et de bien-être",3:"Formation aux enquêtes sur la protection sociale",5:"Exercice de travail social II"},"Friday":{1:"Théorie du bien-être communautaire",2:"Conseils de formation en travail social"}}
youbi=datetime.now().strftime('%A')
#Ouvrez le navigateur.
driver_path = './chromedriver'
driver = webdriver.Chrome(driver_path)
#Ouvrez l'écran TOP de recherche Google.
driver.get("Entrez l'URL manaba de votre université")
#Attendez 1 seconde
time.sleep(1)
#Entrez votre identifiant de connexion
login_id = driver.find_element_by_id("mainuserid")
login_id.send_keys("Entrez le numéro d'inscription de l'école")
login_id = driver.find_element_by_name("password")
login_id.send_keys("Entrer le mot de passe")
#Cliquez sur le bouton de connexion
next_btn = driver.find_element_by_name("login")
next_btn.click()
#Attendez 1 seconde
time.sleep(1)
youbi_list = data[youbi]
four_time=1320
if four_time <= 950:
class_name = youbi_list[1]
elif 1025<= four_time<=1050:
class_name = youbi_list[2]
elif 1245<= four_time<=1330:
class_name = youbi_list[3]
elif 1610<= four_time<=1659:
class_name = youbi_list[4]
elif 1600<= four_time<=1659:
class_name = youbi_list[5]
print(four_time)
print(class_name)
continue_link = driver.find_element_by_link_text(class_name)
continue_link.click()
try:
driver.find_element_by_partial_link_text(u"ZOOM").click()
except:
try:
driver.find_element_by_partial_link_text(u"zoom").click()
except:
try:
driver.find_element_by_partial_link_text(u"Zoom").click()
except:
try:
driver.find_element_by_partial_link_text(u"URL").click()
except:
driver.find_element_by_partial_link_text(u"url").click()
time.sleep(3)
links = driver.find_elements_by_partial_link_text('zoom')
for elem in links:
elem.click()
time.sleep(3)
cur_url = driver.current_url
print(cur_url)
#Ci-dessous la soupe est utilisée
import requests
from bs4 import BeautifulSoup
#Envoyez une demande à l'URL à récupérer et obtenez le HTML
res = requests.get(cur_url)
#Créer un objet BeautifulSoup à partir du code HTML de la réponse
soup = BeautifulSoup(res.text, 'html.parser')
#Aller à la page de zoom
s = soup.find('input')
s=str(s)
#Il est trop puissant, donc élégant plus tard.
s=s[39:-3]
driver.get(s)
Accédez à 1, URL manaba avec sélénium et connectez-vous 2, obtenez l'heure et le jour actuels 3, passez au cadre de classe qui convient à l'heure 4, obtenez l'URL de zoom 5, passez à la page de zoom Je n'ai pas pu obtenir l'URL de la réunion 6, zoom telle qu'elle était, alors j'ai obtenu du code HTML et l'ai analysé une fois avec Beautiful Soup. Obtenez l'URL de la réunion à partir de 7, html 8, passez à la page de la réunion
from selenium import webdriver from selenium.webdriver.common.keys import Keys import time from datetime import datetime
four_time=str(datetime.now().strftime("%H%M")) four_time=int(four_time)
data = {"Monday": {1: "Family Welfare Theory", 3: "Welfare and Living Environment Theory"}, "Tuesday": {2: "Advocacy and Adult Guardianship System"}, "Wednesday": {2: "Exercice spécialisé I de la protection sociale"}, "Jeudi": {1: "Systèmes et services liés à la santé mentale et au bien-être", 3: "Formation à la recherche sur le bien-être social", 5: "Exercice de travail social II"}, "Vendredi": {1: "Théorie du bien-être communautaire", 2 : "Instruction de formation en travail social"}}
youbi=datetime.now().strftime('%A')
driver_path = './chromedriver' driver = webdriver.Chrome(driver_path)
driver.get ("Entrez l'URL du manaba de chaque université")
time.sleep(1)
login_id = driver.find_element_by_id("mainuserid") login_id.send_keys ("Entrez le numéro d'inscription de votre école")
login_id = driver.find_element_by_name("password") login_id.send_keys ("Saisir le mot de passe")
next_btn = driver.find_element_by_name("login") next_btn.click()
time.sleep(1)
youbi_list = data[youbi] four_time=1320
if four_time <= 950:
class_name = youbi_list[1]
elif 1025<= four_time<=1050:
class_name = youbi_list[2]
elif 1245<= four_time<=1330:
class_name = youbi_list[3]
elif 1610<= four_time<=1659:
class_name = youbi_list[4]
elif 1600<= four_time<=1659:
class_name = youbi_list[5]
print(four_time)
print(class_name)
continue_link = driver.find_element_by_link_text(class_name) continue_link.click()
Refactor est requis ici car il n'est pas bon avec la force brute try: driver.find_element_by_partial_link_text(u"ZOOM").click() except: try: driver.find_element_by_partial_link_text(u"zoom").click() except: try: driver.find_element_by_partial_link_text(u"Zoom").click() except: try: driver.find_element_by_partial_link_text(u"URL").click() except: driver.find_element_by_partial_link_text(u"url").click()
time.sleep(3)
links = driver.find_elements_by_partial_link_text('zoom') for elem in links: elem.click()
time.sleep(3)
cur_url = driver.current_url print(cur_url)
import requests from bs4 import BeautifulSoup
res = requests.get(cur_url)
soup = BeautifulSoup(res.text, 'html.parser')
s = soup.find('input') s=str(s) Les refactors suivants qui nécessitent trop de compétences s=s[39:-3]
driver.get(s)
Recommended Posts