Python+selenium 동적 웹 페이지 를 찾 습 니 다.웹 소스 코드 를 얻 지 못 하 는 것 을 해결 합 니 다.

7732 단어 python
주의해 야 할 문제:
  • driver.switch 사용to.window()이후 웹 페이지 전환 에 성 공 했 지만 원본 코드 가 올 바 르 지 않 습 니 다
  • driver.current 사용 가능url 현재 창 주 소 를 가 져 옵 니 다.get 지연 시간 이 적당 한 후에 소스 코드 를 정확하게 가 져 올 수 있 습 니 다
  • #         
    driver.switch_to.window(driver.window_handles[1])
    print(driver.title)
    
    driver.get(driver.current_url)
    
    time.sleep(4)
    #        
    html = driver.page_source
    soup = BeautifulSoup(html, 'lxml')
    
    data = [i.text for i in soup.select('      ')]
    

    출판사 도서 정보
    #   python      
    import time
    
    from bs4 import BeautifulSoup
    from selenium import webdriver
    from selenium.webdriver.common.by import By
    from selenium.webdriver.support import expected_conditions as EC
    from selenium.webdriver.support.ui import WebDriverWait
    
    url = 'https://www.ptpress.com.cn/shopping/index'
    driver = webdriver.Chrome()
    driver.get(url)
    
    wait = WebDriverWait(driver, 10)
    
    #     
    before = driver.current_window_handle
    print(driver.title)
    #   selector     
    
    search_btn = driver.find_element_by_css_selector(
        'body > div.classifySearch-p > div > div.classifySearchBar > div.allSearch > input')
    #       
    search_btn.send_keys("python  ")
    
    #                      selector     
    confrim_btn = wait.until(EC.element_to_be_clickable((By.CSS_SELECTOR,
                                                         'body > div.classifySearch-p > div > div.classifySearchBar > '
                                                         'div.allSearch > a > i')))
    #       
    confrim_btn.click()
    #         
    
    driver.switch_to.window(driver.window_handles[1])
    print(driver.title)
    driver.get(driver.current_url)
    time.sleep(4)
    #        
    html = driver.page_source
    soup = BeautifulSoup(html, 'lxml')
    
    data = [i.text for i in soup.select('#search > div.book-floor > ul > li > p')]
    print(data)
    driver.close()
    
    

    좋은 웹페이지 즐겨찾기