Python 은 파충류 로 정적 웹 페이지 그림 을 기어 오 르 는 방법 에 대해 상세 하 게 설명 합 니 다.

이 글 은 파 이 썬 이 파충류 로 정적 웹 페이지 그림 을 기어 오 르 는 방법 을 실례 로 들 었 다.여러분 께 참고 하도록 공유 하 겠 습 니 다.구체 적 으로 는 다음 과 같 습 니 다.
파충류 이론 적 기초
사실 파충 류 는 모두 가 상상 하 는 것 처럼 그렇게 복잡 하지 않다.때로는 몇 줄 의 코드 일 뿐 이 니 절대 자신 을 놀 라 쓰 러 뜨리 지 마라.이 편 은 파 이 썬 파충 류 를 이용 한 이론 적 기 초 를 분명하게 설명 한다.
먼저 파충류 가 세 단계 로 나 뉘 는데 세 가지 도구 가 필요 하 다 는 것 을 설명 한다.
① 웹 다운로드 기 를 이용 하여 웹 페이지 의 소스 코드 등 자원 을 다운로드 한다.
② URL 관리 자 를 이용 하여 다운로드 한 URL 관리
③ 웹 페이지 해상도 기 를 이용 하여 필요 한 URL 을 분석 하여 일치 시 킵 니 다.
웹 페이지 다운 로 더
웹 다운로드 기 에서 자주 사용 하 는 것 은 두 가지 가 있다.하 나 는 Python 이 자체 적 으로 가지 고 있 는 urllib 2 모듈 입 니 다.다른 하 나 는 제3자 컨트롤 requests 입 니 다.어떤 것 을 선택 하 느 냐 에 따라 차이 가 크 지 않 고 다음 편 에 서 는 실천 작업 예 를 들 것 이다.
URL 관리자
url 관리 자 는 세 가지 종류 가 있 습 니 다.
① 메모리:set 형식 으로 메모리 에 저장
② 관계 형 데이터베이스 mysql 등에 저장
③ 캐 시 데이터베이스 redis 중
웹 페이지 해석 기
웹 페이지 해상도 기 는 모두 네 가지 종류 가 있 습 니 다.
1.정규 표현 식 이지 만 너무 복잡 한 매 칭 은 어렵 고 모호 한 매 칭 에 속 합 니 다.
2.html.parser,python 자체 분석 도구 입 니 다.
3.Beautiful Soup 은 제3자 컨트롤 로 말 그대로 맛 있 는 수프 로 사용 하기에 정말 편리 하고 강하 다.
4.lxml(apt.xml),제3자 컨트롤.
이상 의 것들 은 모두 구조 화 해석(DOM 트 리)에 속 합 니 다.
어떤 구조 화 해석(DOM)입 니까?
Document Object Model(DOM)은 나무의 형식 이다.

Beautiful Soup 의 문법
html 웹 페이지―>BeautifulSoup 대상 만 들 기->검색 노드 findall()/find()―>접근 노드,이름,속성,문자 등...
Beautiful Soup 공식 문서
구현 코드
이론 적 기반 을 말 했 으 니 이제 하 나 를 실천 하고 정적 웹 페이지 의 모든 그림 을 찾 아야 한다.
여기 서 사용 하 는 웹 다운로드 기 는 python 이 자체 적 으로 가지 고 있 는 urllib 2 이 며,정규 표현 식 을 이용 하여 결 과 를 출력 합 니 다.
다음은 소스 코드 입 니 다.

//          
import urllib2
import re
def main():
  //  urllib2 urlopen  ,    url     
  req = urllib2.urlopen('http://www.imooc.com/course/list')
  //        buf   
  buf = req.read()
  // buf            url    。                     ,               , F12  。       ,        ,    ,       。
  listurl = re.findall(r'src=.+\.jpg',buf)
  i = 0
  //         
  for url in listurl:
    f = open(str(i)+'.jpg','w')
    req = urllib2.urlopen(url[5:])
    buf1 = req.read()
    f.write(buf1)
    i+=1
if __name__ == '__main__':
  main()

이로써 정적 웹 페이지 의 그림 파충류 가 완성 되 었 으 니 다음은 효 과 를 살 펴 보 자.
이것 은 정적 웹 페이지 입 니 다:

다음은 기어 오 른 결과:

더 많은 파 이 썬 관련 내용 은 본 사이트 의 주 제 를 볼 수 있 습 니 다.,,,,,,,,,,,,,,,,
본 논문 에서 말 한 것 이 여러분 의 Python 프로 그래 밍 에 도움 이 되 기 를 바 랍 니 다.

좋은 웹페이지 즐겨찾기