Почему моя программа не остается зарегистрированной на веб-сайте после подключения?

#python #web-scraping #beautifulsoup #python-requests

Вопрос:

Я пытаюсь собрать информацию о кандидатах на работу, но после s.post(login_url, data=payload) того, как сеанс будет сброшен, программа больше не будет иметь доступа к содержимому веб-сайта. Я протестировал его, просто войдя в систему, и он работает нормально, но когда я пытаюсь получить доступ interviews_url = ('https://www.sparkhire.com/company/interviews') , он выходит из системы. Я делаю что-то не так?

 from bs4 import BeautifulSoup import requests import token_scraper  login_url = ('https://www.sparkhire.com/login') interviews_url = ('https://www.sparkhire.com/company/interviews') payload = {  '_token':token_scraper.token,  'email':'censored',   'password':'censored' }  with requests.session() as s:  s.post(login_url, data=payload)  r = s.get(interviews_url)  soup = BeautifulSoup(s.content, 'html.parser')  print(soup)  

Ответ №1:

 from bs4 import BeautifulSoup import requests  headers = {  'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:94.0) Gecko/20100101 Firefox/94.0' }   def get_soup(content):  return BeautifulSoup(content, 'lxml')   def main(url):  with requests.Session() as req:  req.headers.update(headers)  r = req.get(url)  soup = get_soup(r.text)  data = {  "_token": soup.select_one('input[name=_token]')['value'],  "email": "any@any.com",  "password": "yourpass"  }  req.post(url, data=data)  r = req.get('https://www.sparkhire.com/company/interviews')  with open('view.html', 'wb') as f:  f.write(r.content)   main('https://www.sparkhire.com/login')  

Комментарии:

1. Я попробовал это, но все еще выхожу из системы и возвращаюсь на страницу входа в систему после попытки взаимодействия с веб-сайтом. Возможно ли, что на веб-сайте есть что-то, что мешает автоматическим программам взаимодействовать с ним?