스파이더 파충류 기초 - 첫 주 지식 포인트

2697 단어

저번 주의 지식을 되돌아보다


1. 네트워크 요청 라이브러리


1.1 내장형 urllib 라이브러리


가방 세 개
urllib.request
urllib.parse
urllib.error

네트워크 요청 대상 Request 라이브러리의 함수나 클래스
  • urlopen(url|Request, data, timeout)
  • urlretrieve(url, filename)
  • build_opener(*handlers)
  • Request

  • Request 클래스를 구성하는 실례 대상 (instance) 초기화 매개 변수 (init () 방법에서 사용)
  • url 요청 경로
  • 데이터가 업로드한 데이터의 바이트 코드
  • headers 요청 헤더
  • method 요청 방법
  • timeout 요청 시간 초과??

  • build_opener () 방법에서 만들 수 있는 요청 프로세서 클래스
  • HTTPHandler
  • HTTPCookieProcessor(CookieJar())
  • ProxyHandler(proxies={})

  • 그것의 핵심 방법은 오픈(url|Request)이다
    HTTPResponse 클래스 객체에 응답하는 방법:
  • code 응답 상태 코드
  • headers 응답 헤드
  • get_url () 요청 경로
  • read()/readline()/readlines()반환 바이트
  • 1.2 Requests 라이브러리


    제3자 요청 라이브러리는 내부에 urllib/urllib3의 방법이나 클래스를 봉하여 더욱 간결하고 잘 사용할 수 있는 네트워크 요청을 만들었다.
    가장 핵심적인 방법
  • requests.request(method, url, params, data, json, headers, cookies, proxies, timeout, auth, files, **kwargs)
  • requests.get(url, params, **kwargs)
  • requests.post(url, data, json,**kwargs)
  • requests.put(url, data, json, **kwargs)
  • requests.delete(url, **kwargs)

  • 응답 클래스 Response 객체의 속성 및 방법
  • status_code 응답 코드
  • encoding 지정 문자 세트
  • headers
  • cookies
  • text 응답 데이터를 텍스트로 변환
  • 콘텐츠 응답 데이터 바이트
  • 2. 데이터 분석

     re 
    lxml xpath  - list[, ]
    	- Element xpath() /.text  /.get( )
    bs4 selector   - list[ ]
    	- find('div')
    	- find_all('div')
    	- selector_one('')
    	- selector('')
    	- attrs.get(' ')
    	- .a.b.c[' ']
    	- string/text   
    

    3. 동시 네트워크 요청


    다중 스레드 간 통신(queue.Queue)
  • put(item, block, timeout)
  • put_nowait(item)
  • get(timeout)
  • get_nowait()

  • 4. Seleinum 라이브러리


    네트워크 요청, 데이터 해석 및 동적 js 렌더링 기능을 종합하여 풍부한 방법이나 속성을 제공합니다.아날로그 브라우저, 크롬이나 Firfox 등 유명 브라우저driver 드라이버를 제공하여 브라우저를 실행하고 네트워크 요청을 수행합니다. 렌더링 후에 요소 Element 추출 방법을 제공하여 목표 내용을 신속하게 얻거나 해석할 수 있습니다.
    이 도구를 사용하면 UI 자동화 테스트, 동적 js 렌더링 등에 사용됩니다.
    핵심적 방법
  • get(url)
  • find_element[s]_by_id/name/tag_name/xpath()/css_selector()/class_name()/link_text()
  • send_keys (입력한 내용)
  • 클릭 () 클릭 이벤트 시작
  • execute_javascript('js 스크립트')
  • page_source 렌더링 후 웹 소스
  • save_screenshot(filename) 캡처
  • switch_to.frame/window () 를 창에 삽입하기
  • quit() 종료
  • 5. ElastichSearch 검색엔진 배포 및 API

    좋은 웹페이지 즐겨찾기