Невозможно войти в действительно.com с помощью запросов Python - PullRequest
0 голосов
/ 15 сентября 2018

Я пытаюсь написать код для сбора резюме с веб-сайта «действительно.com».Для того, чтобы скачать резюме с «sure.com», вам необходимо войти в систему под своей учетной записью.Проблема со мной в том, что после публикации данных отображается ответ [200], который указывает на успешную публикацию, но по-прежнему не удается войти в систему.

Вот мой код:

import requests
from bs4 import BeautifulSoup
from lxml import html

page = requests.get('https://secure.indeed.com/account/login')
soup = BeautifulSoup(page.content, 'html.parser')
row_text = soup.text
surftok = str(row_text[row_text.find('"surftok":')+11:row_text.find('","tmpl":')])
formtok = str(row_text[row_text.find('"tk":') + 6:row_text.find('","variation":')])
logintok = str(row_text[row_text.find('"loginTk":') + 11:row_text.find('","debugBarLink":')])
cfb = int(str(row_text[row_text.find('"cfb":')+6:row_text.find(',"pvr":')]))
pvr = int(str(row_text[row_text.find('"pvr":') + 6:row_text.find(',"obo":')]))
hl = str(row_text[row_text.find('"hl":') + 6:row_text.find('","co":')])

data = {
    'action': 'login',
    '__email': 'myEmail',
    '__password': 'myPassword',
    'remember': '1',
    'hl': hl,
    'cfb': cfb,
    'pvr': pvr,
    'form_tk': formtok,
    'surftok': surftok,
    'login_tk': logintok
}


response = requests.post("https://secure.indeed.com/", data=data)
print response
print 'myEmail' in response.text

Он показывает мне response [200] но когда я ищу свою электронную почту на странице ответов, чтобы убедиться в успешности входа, я не нахожу ее.Похоже, что вход не выполнен по причине, которую я не знаю.

Ответы [ 2 ]

0 голосов
/ 24 сентября 2018

Некоторые сайты используют перенаправление JavaScript.«Действительно.com» является одним из них.К сожалению, запросы Python не поддерживают перенаправление JavaScript.В таких ситуациях мы можем использовать селен.

0 голосов
/ 18 сентября 2018

отправляйте заголовки также в вашем почтовом запросе, получайте заголовки из заголовков ответов вашего браузера.

headers = {'user-agent': 'Chrome'}
response = requests.post("https://secure.indeed.com/",headers = headers, data=data)
...