Невозможно получить доступ к веб-странице с запросом в Python - PullRequest
0 голосов
/ 16 сентября 2018

После некоторого обсуждения с моей проблемой на Невозможно распечатать ссылки с использованием Beautifulsoup при автоматизации через селен

Я понял, что основная проблема заключается в URL, который запрос не может извлечь. URL страницы на самом деле https://society6.com/discover, но я использую селен для входа в свою учетную запись, поэтому URL становится https://society6.com/society?show=2

Однако я не могу использовать второй URL с запросом, так как он показывает ошибку. Как я могу удалить информацию с URL, как это.

1 Ответ

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

Сначала необходимо войти в систему!

Для этого вы можете использовать библиотеку bs4.BeautifulSoup.

Вот реализация, которую я использовал:

import requests
from bs4 import BeautifulSoup

BASE_URL = "https://society6.com/"


def log_in_and_get_session():
    """
    Get the session object with login details
    :return: requests.Session
    """    
    ss = requests.Session()
    ss.verify = False    # optinal for uncertifaied sites. 
    text = ss.get(f"{BASE_URL}login").text
    csrf_token = BeautifulSoup(text, "html.parser").input["value"]
    data = {"username": "your_username", "password": "your_password", "csrfmiddlewaretoken": csrf_token}
    # results = ss.post("{}login".format(BASE_URL), data=data)
    results = ss.post("{}login".format(BASE_URL), data=data)
    if results.ok:
        print("Login success", results.status_code)
        return ss
    else:
        print("Can't  login", results.status_code)

Использование метода 'post` для входа в систему ...

Надеюсь, это поможет вам!

Редактировать

Добавлено начало функции.

...