Quiero raspar datos del siguiente sitio web. https://dell.secure.force.com/FAP/?c=de&l=de&pt=findareseller Traté de obtener datos de la pestaña de red pero no devuelve nada. Luego probé BeautifulSoup para obtener algunos datos, pero solo devuelve Javascript con etiquetas tbody vacías. Pero en el elemento de inspección, muestra los datos en una tabla.
import requests from bs4 import BeautifulSoup url = 'https://dell.secure.force.com/FAP' headers = { 'Connection': 'keep-alive' } data = { 'pt': "findareseller" } page = requests.get(url, params= data) soup = BeautifulSoup(page.text, 'html.parser') soup.find_all('table') # returns only javascript code.¿Alguien puede ayudar, cómo puedo raspar los datos?
soup.find_all('table') devuelve una lista con todos los elementos de la tabla.
Entonces, para encontrar su elemento específico, debe intentar encontrar algunas propiedades distintas que lo hagan diferente de todas las demás tablas (como una identificación o clase).
Para acceder a los atributos de los elementos, use t[0].attrs para obtener una lista de ellos y, por ejemplo: t[0]["width"] para acceder a ellos.
Además: si usas soup.select('table') en su lugar, puedes usar los selectores css como entrada de cadena, por lo que no tendrás que lidiar con las funciones de beautifulsoups.
Gracias a todos. Descubro la respuesta. Utilizo la búsqueda en la red para obtener cualquier solicitud de búsqueda. Encontré la URL de búsqueda, para confirmar si la URL era correcta, hice doble clic en ella y devuelve exactamente la misma página. así que copio el código bash y lo paso a POSTMAN como import "RAW TEXT". Descubrí que en realidad usa solicitudes de publicación. Después de usar la solicitud posterior, pude obtener los datos que necesitaba. a continuación se muestra la solicitud con POST.
response = requests.request("POST", url, headers=headers, data=payload)luego uso BeautifulSoup como sopa.
st = soup.find('input')['value'] # returns data I needed