Запрос Python не показывает желаемый результат - PullRequest
0 голосов
/ 22 марта 2019

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

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 Ответ

0 голосов
/ 22 марта 2019

Это должен быть метод запроса 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'])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...