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