#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'])