동적 데이터 크롤러 셀레늄 적용 크롤링

  

A, 셀레늄 개념

  셀레늄은 브라우저 기반 자동화 모듈이며

  셀레늄 파충류 연관성 :

    동적으로로드 된 데이터 1. 편리

    2. 아날로그 로그인

  기본 사용

    셀레늄을 설치 PIP

    브라우저 드라이버를 가져옵니다

  드라이버 다운로드 링크 구글 주소 : http://chromedriver.storage.googleapis.com/index.html

 

셀레늄의 기본 사용

에서 셀레늄 수입 webdriver
 에서 시간 가져 오기 

#은 브라우저 객체 인스턴스화 
브로 = webdriver.Chrome을 (executable_path = ' ./chromedriver.exe ' )

# 요청 보내기 
bro.get를 ( ' https://www.jd.com/ ' )
SLEEP ( 2 )
 #의 위치 탭 
SEARCH_TAG bro.find_elements_by_xpath = ( ' // * [ID = "키"@] ' ) [0]
search_tag.send_keys ( ' 맥 프로 ' )

# 위치 검색 버튼 
BTN = bro.find_element_by_xpath ( ' // * / DIV / DIV [2] / 버튼 [ID는 = "검색"@] ' )
btn.click ()

#의 JS注入 
bro.execute_script ( ' window.scrollTo (0, document.body.scrollHeight) ' )
절전 ( 3 )

bro.quit ()

 

셀레늄 기반의 데이터를 동적으로 크롤링로드

 셀레늄 오기 webdriver
 에서 시간 가져 SLEEP
 에서 LXML 오기 etree의
 #의 브라우저 오브젝트의 예 
브로 = webdriver.Chrome (executable_path = ' ./chromedriver.exe ' )
bro.get ( ' http://125.35.6.84:81/xk/ ' )
절전 ( 1 )

# 현재 브라우저가 데이터를 대응하는 모든 페이지를 표시 
page_text = bro.page_source

all_page_text = [page_text]
 에 대한 I  범위 (1,4 ) :
    next_page_tag = bro.find_element_by_xpath ( ' // * [ID = "pageIto_next"@] ' )
    next_page_tag.click ()
    절전 ( 1 )
    all_page_text.append (bro.page_source)

대한 page_text 에서 all_page_text :
    나무 = etree.HTML (page_text)
    li_list = tree.xpath ( ' // * / 리 [ID = "gzlist"@] ' )
     에 대한 리튬 li_list :
        제목 = li.xpath ( ' ./dl/a/text () ' )
         인쇄 (제목)

절전 ( 3 )
bro.quit ()

 

추천

출처www.cnblogs.com/guniang/p/11720398.html