Запрос Python не показывает желаемый результат

#python #beautifulsoup #python-requests

#python #beautifulsoup #python-запросы

Вопрос:

Я не эксперт в python, но это то, что я сделал с python-запросами. Я пытаюсь вызвать этот URL, который дает мне идентификатор электронной почты пользователя, если я укажу first_name, last_name и домен.

https://dry-tor-58240.herokuapp.com

Однако, когда я пытаюсь запросить его с помощью python, я получаю код ответа 200, но когда я преобразую response.text в объект Beautiful Soup, я нигде в нем не вижу адреса электронной почты.

 import requests
headers = {'User-Agent': 'Mozilla/5.0'}
payload = {"first_name":"nandish","last_name":"ajani","domain":"atyantik.com"}
r = requests.get("https://dry-tor-58240.herokuapp.com/", headers = headers, params = payload)
soup = BeautifulSoup(r.text, 'lxml')
  

Кто-нибудь может сообщить мне, что я делаю не так?

Ответ №1:

Это должен быть метод запроса POST. Это вернет формат json, поэтому я также использовал запрос .json()

 import requests
from bs4 import BeautifulSoup

request_url = 'https://dry-tor-58240.herokuapp.com/find'

headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36'}
payload = {"first_name":"nandish","last_name":"ajani","domain":"atyantik.com"}
jsonObj = requests.post(request_url, headers = headers, json = payload).json()
  

Вывод:

 print (jsonObj['email'])