es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Puedo extraer datos JSON de esta solicitud XHR?

Soy un traductor de español que traduce documentos de TI. Traduzca lo siguiente al español. No traduzca el código y la salida en markdown.

Soy un principiante tratando de realizar web scraping en la sección de este sitio https://www.csgoroll.com/en/withdraw/csgo/p2p. Estoy tratando de extraer los precios y el nombre de cada artículo en la solicitud llamada “graphql?operationName= TradeList& variables = “solo usando la biblioteca de solicitudes en Python, pero no estoy seguro de cómo hacerlo. He investigado esto y me ha llevado a usar una aplicación llamada Postman y si copio la cURL en ella, no devuelve los datos JSON. Investigando más, parece que usa graphql, pero cuando me conecto a https://api.csgoroll.com/, el playground que creo que se usó para consultar datos dice que no se puede acceder al servidor. Entonces, me pregunto si es posible extraer los datos solo usando la biblioteca de solicitudes en Python y, de ser así, ¿cómo hacerlo?

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    El webscraping de un sitio web se puede hacer utilizando la biblioteca requests en Python. Sin embargo, extraer datos de un sitio web con graphql, xmlhttprequest o ajax puede ser un desafío, especialmente para principiantes. En este caso, el usuario desea extraer precios y nombres de cada ítem en la solicitud llamada “graphql?operationName=TradeList” del sitio web csgoroll.

    Es posible lograr esto solo utilizando la biblioteca requests en Python analizando cuidadosamente la estructura del sitio web e identificando los datos a extraer. El primer paso es inspeccionar la página web abriéndola en un navegador web y visualizando el código fuente.

    Después de inspeccionar la página web, verifica si se puede acceder al punto de API ingresando la URL en un navegador web. Si el punto de API no es accesible, puede indicar que no está disponible o puede haber un problema de firewall.

    Si se puede acceder al punto de API, verifica si requiere algún tipo de autenticación, como una clave de API o un token OAuth.

    Una vez que el punto de API está accesible y autenticado, envía una solicitud HTTP utilizando la biblioteca requests. Por ejemplo, se puede usar el siguiente código para extraer datos de la solicitud “graphql?operationName=TradeList”.

    import requests
    
    url = 'https://www.csgoroll.com/en/withdraw/csgo/p2p/graphql?operationName=TradeList&variables='
    
    response = requests.get(url)
    data = response.json()
    
    # extraer los precios y nombres de cada ítem de los datos
    

    El código anterior envía una solicitud HTTP GET al punto de API y recibe una respuesta en formato JSON. Los datos de la respuesta se pueden analizar para extraer la información deseada.

    Sin embargo, en este caso particular, el usuario ha mencionado que cuando se conecta al playground “https://api.csgoroll.com/”, que se utiliza para consultar datos, dice que el servidor no se puede alcanzar. Esto indica que puede haber un problema con el servidor o la conexión a Internet del usuario. Si el servidor no es alcanzable, puede que no sea posible extraer los datos utilizando la biblioteca requests en Python.

    Por lo tanto, puede valer la pena considerar otras opciones, como usar una herramienta de web scraping como Beautiful Soup. Además, puede ser útil consultar a scrapers web experimentados o contactar al propietario del sitio web para obtener más ayuda.

Comments are closed.