상품을 크롤링 셀레늄 도구

       셀레늄은 우수한 자동화 된 테스트 도구, 여러 언어에 대한 지원입니다 자세한 내용은 공식 문서를 참조하십시오. HTTPS : //www.seleniumhq.org/docs/.

여기에서 우리는 셀레늄 도구는 미리보기 페이지에서 제품의 상세 정보를 얻을, 제품 세부 정보 페이지에 사용자가 클릭을 시뮬레이션 사용합니다.

첫째, 셀레늄 설치

셀레늄을 설치 PIP

둘째, 테스트 설치

파이썬
 >> 셀레늄 수입 webdriver에서
 >> 브라우저 = webdriver.Chrome ()

지정되지 않으면 다음 단계를 수행 할 수있다. 오류 메시지가 chromedriver를 찾을 수없는 경우, 당신은 chromedriver를 다운로드해야

셋째, 다운로드 chromedriver

동일한 로컬 브라우저 버전의 다운로드 경로에 드라이버 패키지, 브라우저 버전을 다운로드 Chromedriver 75.0.3770.142

wget을 HTTP : // npm.taobao.org/mirrors/chromedriver/74.0.3729.6/chromedriver_linux64.zip 
타르 zxvf chromedriver_linux64. 우편 
CD chromedriver_linux64 
수출 PATH = $의 PATH : ~ / 다운로드 / chromedriver_linux64

넷째, 사용 예

= URL " http://www.baidu.com " 
브라우저 = webdriver.Chrome () 
browser.get (URL) 
ELE = browser.find_element_by_class_name ( '' )
 인쇄 (ELE) 
에있어서, find_element_by_class_name 라벨 획득 한 클래스 스타일 요소, 같은 많은 유사한 방법이 있습니다 : 
find_element_by_id 
find_element_by_xpath 
find_element_by_tag_name은 
....

다섯째, 전투

여기에 우리가 제품 정보에 www.layuva.com를 크롤링 할 수있는 예를 가지고 사이트에 제품 세부 정보 페이지 링크가 동적으로 생성되고, 많은 사이트가 동적으로 컨텐츠를 생성, 위치는 셀레늄 도구의 크롤링이 유형의 데이터에 적합합니다. 특정 부록 데모

1 , 새 드라이버 인스턴스 
URL = " https://www.layuva.com/pc/index.html#/home/searchDetail?category_id=1060730203664142336 " 
브라우저 = webdriver.Chrome () 
browser.get (URL)

 2 , 물건을 얻기 위해 리스트 
list_box = browser.find_elements_by_xpath는 ( ' [위에서 ID = "애플리케이션"을 언급 @] // * // DIV [5] / DIV [2] / DIV / DIV ' )
3 , 제품 정보를보고 사용자가 시뮬레이션 을 위해 박스 list_box가 : 박스. 의 Click () browser.switch_to.window (browser.window_handles [ -1 ])
. 4 상품 정보 페이지 얻기 전에 image_src을= wait.until (EC.presence_of_element_located ((By.XPATH, ' // * [ID = "애플리케이션"@] / DIV [5] / DIV / DIV [1] / DIV [1] / IMG ' ))). get_attribute ( " 데이터 SRC ' ) 5 ,退出详情页 browser.close () browser.switch_to.window (browser.window_handles [0])
(6) ,获取下一页 대상 = browser.find_element_by_css_selector ( ' #app> div.searchDetail > div.width 계> div.common 페이지> UL> li.ivu-다음 페이지 " ) 경우 target.get_attribute ( " 클래스 " ) .find ( ' IVU 페이지 비활성화 ' )> = 0 :// 다음이 있는지 여부를 확인 BREAK ActionChains (브라우저) .move_to_element (대상) .click (대상) .perform () #의 "다음"버튼을 아날로그 클릭

에 오신 것을 환영합니다 Paizhuan

추천

출처www.cnblogs.com/xiaodekaixin/p/11266628.html