Ich schreibe ein Skript zum Herunterladen von Dateien von einer Website.Python Request Modul Fehler beim Einloggen in eine Wordpress-Site
import requests
import bs4 as bs
import urllib.request
import re
with requests.session() as c: #making c denote the requests.session() function
link="https://gpldl.com/wp-login.php" #login link
initial=c.get(link) #passing link through .get()
headers = {
'User-agent': 'Mozilla/5.0'
}
login_data= {"log":"****","pwd":"****","redirect_to":"https://gpldl.com/my-gpldl-account/","redirect_to_automatic":1,"rememberme": "forever"} #login data for logging in
page_int=c.post(link, data=login_data,headers=headers) #posting the login data to the login link
prefinal_link="https://gpldl.com" #initializing a part of link to be used later
page=c.get("https://gpldl.com/repository/",headers=headers) #passing the given URL through .get() to be used later
good_data = bs.BeautifulSoup(page.content, "lxml") #parsing the data from previous statement into lxml from by BS4
#loop for finding all required links
for category in good_data.find_all("a",{"class":"dt-btn-m"}):
inner_link=str(prefinal_link)+str(category.get("href"))
my_var_2 = requests.get(inner_link)
good_data_2 = bs.BeautifulSoup(my_var_2.content, "lxml") #parsing each link with lxml
for each in good_data_2.find_all("tr",{"class":"row-2"}):
for down_link_pre in each.find_all("td",{"class":"column-4"}): #downloading all files and getting their addresses for to be entered into .csv file
for down_link in down_link_pre.find_all("a"):
link_var=down_link.get("href")
file_name=link_var.split('/')[-1]
urllib.request.urlretrieve(str(down_link),str(file_name))
my_var.write("\n")
Mit meinem Code, wenn ich auf die Website zugreifen, um die Dateien herunterzuladen, schlägt die Anmeldung fehl. Kann mir jemand helfen, herauszufinden, was mit meinem Code nicht stimmt?
Edit: Ich denke, der Fehler ist mit der Aufrechterhaltung der eingeloggten Zustand seit, wenn ich versuche, auf eine Seite auf einmal zugreifen, kann ich auf die Links zugreifen, die nur zugegriffen werden kann, wenn man eingeloggt ist Wenn ich navigiere, denke ich, dass der Bot abgemeldet wird und nicht in der Lage ist, die Download-Links abzurufen und herunterzuladen.