Necesito obtener oraciones de ejemplo con las traducciones de las palabras de Contexto Reverso.
En primer lugar, intenté obtener todos los datos de la página de resultados:
import requests
print(requests.get("https://context.reverso.net/translation/english-russian/cat").text)
Y tengo un problema aquí: el servidor sabe que estoy accediendo a él a través de un bot: mi aplicación no obtiene lo que necesito y lo consigue entre otras cosas:
<p class="text" id="text-en" style="display: none">
You've been denied access â IP blacklisted<br/>
Your IP <b class="ip"></b> has been considered as sending illegitimate traffic to our servers.<br/>
If you think your traffic is legitimate, please fill in the form below so we could investigate why you were blacklisted.<br/><br/>
Thank you,<br/>
The Reverso Team
</p>
¿Hay alguna manera de engañar al servidor y obtener la página con ejemplos?
P.S .: Traté de encontrar una API de Python para este sitio web, pero no pude encontrar nada.
2 respuestas
Primero intente cambiar el agente de usuario en sus encabezados de solicitud para que parezca un navegador web normal. Consulte https: //2.python-requests. org / es / v1.0.4 / user / quickstart / # custom-headers, encabezados de agente de usuario de Google.
Una vez que pueda acceder al sitio web, puede encontrar las oraciones de ejemplo como esta.
req = requests.get("https://context.reverso.net/translation/english-russian/cat", headers={'User-Agent': 'Mozilla/5.0'})
soup = BeautifulSoup(req.text, 'lxml')
sentences = [x.text.strip() for x in soup.find_all('span', {'class':'text'}) if '\n' in x.text]
>>> sentences[:4]
['My cat stepped on the remote.', 'Я не смотрю твои бредни, мой кот наступил на пульт.', 'Now imagine you have a cat...', 'А теперь представьте, что у вас есть кот...']
Preguntas relacionadas
Nuevas preguntas
python
Python es un lenguaje de programación multipropósito, de tipificación dinámica y de múltiples paradigmas. Está diseñado para ser rápido de aprender, comprender y usar, y hacer cumplir una sintaxis limpia y uniforme. Tenga en cuenta que Python 2 está oficialmente fuera de soporte a partir del 01-01-2020. Aún así, para preguntas de Python específicas de la versión, agregue la etiqueta [python-2.7] o [python-3.x]. Cuando utilice una variante de Python (por ejemplo, Jython, PyPy) o una biblioteca (por ejemplo, Pandas y NumPy), inclúyala en las etiquetas.