помогите c парсером на python

На сайте http://burlang.ru/ нужно вставить в поле ввода слово на русском, и сохранить полученный перевод.

Вот как я это делаю:

import requests
from bs4 import BeautifulSoup

user_agent = ""
word = input()

URL = 'http://burlang.ru/'
HEADERS = {'user-agent': user_agent, 'accept': '*/*' }
data = {
    "russian_word": word
}

def get_html(url):
    r = requests.get(url, data= data, headers = HEADERS)
    return r

def get_content(html):
    soup = BeautifulSoup(html, 'html.parser')
    items = soup.find_all('ul', class_='translate-list')
    print(items)
    
def parse():
    html = get_html(URL)
    get_content(html.text)

parse()

Ответы (1 шт):

Автор решения: Стас

Если посмотреть ответ вашего запроса, то мы получаем главную страницу сайта! Чтобы отправлять запрос именно на перевод - нужно заменить ссылку на http://burlang.ru/site/russian-translate

Теперь отправляем на нее запрос и видим:

Request must be XMLHttpRequest.

Сравниваем с тем, что отправляет на сайт браузер:

X-Requested-With: XMLHttpRequest

Просто нужно докинуть это в headers. Также замените data на params

Вот пример, с парсингом разберетесь сами:

import requests

url = "http://burlang.ru/site/russian-translate"
userAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.146 Safari/537.36"
word = "Привет"

headers = {
    "user-agent": userAgent,
    "accept": "*/*",
    "x-requested-with": "XMLHttpRequest"
}
    

parameters = {
    "russian_word": word
}

print(requests.get(url, headers=headers, params=parameters).text)

OUT:

<div class="alert alert-success">
   <ul class="translate-list">
      <li>(амар) мэндэ</li>
   </ul>
</div>
→ Ссылка