Как вернуть результаты при отправке запроса на сайт, а затем выбрать один из них? - PullRequest
1 голос
/ 06 мая 2019

Я пытаюсь создать сценарий, который вводит текст в www.citethisforme.com в качестве запроса на публикацию, а затем выбирает первый результат.

Я отправляю запрос на публикацию на www.citethisforme.com, который отправляеттекст "Альберт Эйнштейн" в форме, для которой я нашел информацию после просмотра страницы.Когда я запускаю scipt, кажется, работает, но когда я копирую и прошёл ответ, я не вижу результатов в ответе.Как я вижу результаты?и что тогда я буду кодировать, чтобы щелкнуть по первому результату и вернуть ответ?

Я пробовал Beautifulsoup и без красивого супа, но я не получаю желаемого ответа или я делаю это неправильно?

мой код:

import requests
from bs4 import BeautifulSoup

body = {'jrQry': 'albert einstein'}
with requests.Session() as s:
    con = requests.post("https://stackoverflow.com/", data=body)
    print (con.text)

если вы вводитеАльберт Эйнштейн на www.citethisforme.com вы должны увидеть, что ожидается с учетом результатов.

1 Ответ

1 голос
/ 06 мая 2019

Вместо того, чтобы делать запрос к домашней странице, вы должны сделать запрос к конечной точке, которую они используют для поиска. Хорошим способом выяснить это часто является использование консоли разработчика в вашем любимом браузере (например, для Chrome , Firefox и просмотр запросов, которые вы делаете при использовании веб-сайта.

При выполнении поиска на предложенном вами веб-сайте отображается запрос POST, отправляемый одной из их конечных точек, и ответ, который он предоставляет.

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

...