Я хочу получить html источник нескольких страниц веб-сайта. Используя request.Sessions
, я могу успешно войти в систему (200 ответов). Но после этого, когда я пытаюсь получить html источник определенных страниц, я снова получаю html источник страницы входа. Это мой код:
import requests
from bs4 import BeautifulSoup
from random import randint
from time import sleep
USERNAME = "email"
PASSWORD = "password"
LOGIN_URL = "login_url"
URL = "base_url"
FILEPATH = "File_Location"
with requests.Session() as s:
r = s.get(LOGIN_URL)
soup = BeautifulSoup(r.content, "lxml")
hidden = soup.find_all("input", {'type':'hidden'})
target = LOGIN_URL + soup.find("form")['action']
payload = {x["name"]: x["value"] for x in hidden}
#add login creds to the dict
payload["user[email]"] = USERNAME
payload["user[password]"] = PASSWORD
r = s.post(target, data=payload)
print(r) \\-> <Response [200]>
for i in range(587, 608):
sleep(randint(1,5))
url1 = URL + str(i)
result = s.get(url1, headers = dict(referer = url1))
fn = FILEPATH + str(i) + ".html"
data = result.text
soup = BeautifulSoup(data, "html.parser") // -> This gives me login page's source code