Я пытаюсь вычистить номера телефонов со страницы примера. Они видны только пользователям после входа в систему.
Поэтому я создал систему, которая регистрирует меня на сайте. Похоже, что все работает, но я все еще не могу отобразить номер телефона из ссылки JSON.
Моя система выглядит следующим образом:
import requests
from bs4 import BeautifulSoup
import requests
from lxml import html as html_login
import json
url = 'https://website.pl/viewcount.php?contract=2062550&event=2'
response = requests.get(url)
html = response.content
soup = BeautifulSoup(html, 'html.parser')
#Remember logged in user
session_requests = requests.session()
login_url = "https://website.pl/log_in"
result = session_requests.get(login_url)
tree = html_login.fromstring(result.text)
authenticity_token = list(set(tree.xpath("//input[@name='login[_csrf_token]']/@value")))
payload = {
"login[login]": "my_user",
"login[password]": "my_password",
"login[_csrf_token]": authenticity_token
}
#log in action
result = session_requests.post(
login_url,
data = payload,
headers = dict(referer=login_url)
)
print(result.ok)
print(result.status_code)
print(soup)
Мой код ссылки выглядит следующим образом this {"count":63, "data": "50066677789"}
(ничего более, он виден только зарегистрированным пользователям). Но мой результат печати дает это:
True
200
Где я допустил ошибку? Нужно ли использовать какой-либо специальный тег для отображения этого ответа JSON?