Maison  >  Article  >  interface Web  >  Besoin d'aide !

Besoin d'aide !

WBOY
WBOYoriginal
2024-08-16 17:03:40851parcourir

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`

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!

Déclaration:
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