Maison > interface Web > js tutoriel > le corps du texte

Besoin d'aide !

WBOY
Libérer: 2024-08-16 17:03:40
original
887 Les gens l'ont consulté

Need Help!

Bonjour, j'ai besoin de l'aide de quelqu'un qui maîtrise le webscraping car je suis nouveau dans la programmation. J'ai pour mission d'extraire la section « à propos du client » des liens d'emploi. Mon script n'extrait qu'un seul "à propos du client", mais pour les autres liens, il ne le fait pas et génère une erreur. Le fait est qu'il existe un lien de fichier XML à partir duquel j'extrais les liens de travail et lorsque ces liens sont ouverts, le code HTML est sous un script Java pour lequel j'utilise du sélénium. J'ai tout essayé mais je n'ai pas trouvé la solution.`def extract_client_info(job_url):
client_info = {'À propos du client' : np.nan}

if job_url and job_url != "N/A":
    try:
        # Open the job URL
        driver.get(job_url)

        # Wait for the page to load
        WebDriverWait(driver, 30).until(
            EC.presence_of_element_located((By.CSS_SELECTOR, '.cfe-about-client-v2'))
        )

        # Extract specific details
        about_client_section = driver.find_element(By.CSS_SELECTOR, '.cfe-about-client-v2')
        client_location = about_client_section.find_element(By.CSS_SELECTOR, '[data-qa="client-location"]').text.strip()
        client_job_posting_stats = about_client_section.find_element(By.CSS_SELECTOR, '[data-qa="client-job-posting-stats"]').text.strip() if about_client_section.find_elements(By.CSS_SELECTOR, '[data-qa="client-job-posting-stats"]') else "N/A"
        client_company_profile = about_client_section.find_element(By.CSS_SELECTOR, '[data-qa="client-company-profile"]').text.strip()

        # Combine extracted information
        client_info['About the Client'] = (
            f"Location: {client_location}\n"
            f"Job Posting Stats: {client_job_posting_stats}\n"
            f"Company Profile: {client_company_profile}"
        )

    except Exception as e:
        print(f"Failed to get 'About the Client' for {job_url}: {e}")
        client_info['About the Client'] = np.nan

    finally:
        # Wait for 10 seconds before making the next request
        time.sleep(10)

return client_info`
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:dev.to
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal