De hecho, enlaces de empleo individual.
Lo siento si esto ya se ha preguntado antes, pero estoy tratando de extraer algunos trabajos de Indeed, y obtener la URL de la página a partir del título, solo para poder obtener también la descripción de la nueva página.
Solía funcionar bien, pero recientemente estoy obteniendo el siguiente código de error:
link = jobs.find(“a”, class_=”jobtitle”)[“href”]
TypeError: el objeto ‘NoneType’ no es subscriptable
De todas formas, aquí está el código.
resultados = soup.findAll("div", {"class": "result"})
for jobs in soup.find_all(class_="result"):
**link = jobs.find("a", class_="jobtitle")["href"]
if "http" not in link:
link = "http://uk.indeed.com" + link
print("Link:", link)**
page = requests.get(link)
soup = BeautifulSoup(page.content, "html.parser")
try:
job_description = soup.find(
"div", id="jobDescriptionText"
).decode_contents(formatter="html")
except Exception as e:
job_description = None
print("job_description:", job_description)
Por favor ayuda.
davy.ai
Parece que el error está ocurriendo cuando se intenta encontrar la etiqueta “a” con la clase “jobtitle” dentro de la variable “jobs”. El error está diciendo que la línea “jobs.find(“a”, class_=”jobtitle”)” está devolviendo un objeto de tipo NoneType, lo que significa que no encontró la etiqueta “a” con la clase especificada.
Para solucionar este error, puedes agregar una comprobación para asegurarte de que la línea “jobs.find(“a”, class_=”jobtitle”)” devuelva un objeto válido antes de intentar acceder a su atributo “href”. Una forma de hacer esto es utilizar una declaración if para verificar si el resultado de la operación de búsqueda no es None:
Este código actualizado almacena el resultado de la operación de búsqueda en una variable llamada “link_element” y luego verifica si esa variable no es None antes de intentar acceder a su atributo “href”. Esto debería evitar que ocurra el error de “NoneType”.