파이썬 초보자 파충류 II : Sogou는 사진을 크롤링 (동적)

 

물냉이 비평가의 성공에 크롤 링 후, 파충류 그렇게 플레이에 포인트 이미지를 상승하려면, 꽤 좋은 느낌 ...

Sogou는 사진 주소 : https://pic.sogou.com/?from=category

 

소스 코드의 궁극적 인 성공에 첫 번째 :

가져 오기  요청
 가져 오기  URLLIB
 오기  JSON을
 으로부터  fake_useragent  오기  해당 UserAgent 

DEF  getSougouImag (카테고리, 길이 경로) 
    N-  =  길이 
    케이트  =  종류 
    imgs_url  = []    # 이미지 URL가 빈 목록을 정의 저장된 
    m = 0    # 화상의 수 표시 
    URL을 =  ' https://pic.sogou.com/pics/channel/getAllRecomPicByTag.jsp?category= ' + 케이트 + ' 및 태그 = E5의 % 85 % 83 %%% A8 %의 E9 및 시작 A8 = LEN = 0 ' + STR (N-) 
    헤더  = { '사용자 에이전트 ' :. 해당 UserAgent ()} 랜덤      # 设置UA 
    F = requests.get (URL 헤더 = 헤더)       # 发送얻기请求
    인쇄 (f.status_code) 
    JS  =  json.loads (f.text) 
    JS  = JS [ ' ALL_ITEMS ' ]
       일본  에서  JS : 
        imgs_url.append (j [ ' thumbUrl ' ])
     에 대한  img_url   imgs_url :
         인쇄 ( ' *****  ' + STR (m) + ' .JPG ***** ' + ' ... 다운로드 ' ) 
        urllib.request.urlretrieve (img_url, 경로 + STR (m) + " .JPG " )     #의 다운로드 로컬의 URL 
        m + =. 1 인쇄 ( ' ! 전체 다운로드 ' ) 
GetSougouImag ( ' 배경 화면 ' , 500, R & LT ' D : \ souGouImg / ' )
    

렌더링 :

 

다음은 초보자 파충류 단계로 시작을 설명합니다 ...

1, 최초의 HTML 소스 코드를 볼 수있는 페이지를 엽니 다

보도 F12 디버그 인터페이스를 엽니 다 -> 이미지를 마우스 오른쪽 버튼으로 클릭 -> 확인을 클릭합니다

나타납니다 빨간색 상자와 같이 정보, 어려운 일이 아니다이 이미지 볼 URL을 img 태그의 src 속성의 값입니다.

 

그래서 간단한? 에 그 직접 액세스 src 속성의 값은 다음 다운로드가 완전히 확인하지 않는 이유는 무엇입니까?

몇 마디의 남자는 개방 건조 말했다.

에서  BS4  가져 오기  BeautifulSoup로
 가져 오기  요청
 에서  fake_useragent  가져 오기  해당 UserAgent    # UA 저장소 

URL ' https://pic.sogou.com/pics/recommend?category=%B1%DA%D6%BD&from=home#%E5%85%A8% A8을 %%% 83 E9 269 ' 
헤더  = { ' 해당 UserAgent ' :. 해당 UserAgent ()가 랜덤}      #는 UA에 설정 
F = requests.get (URL는, 헤더 = 헤더)       #는 GET 요청 보내기 
인쇄 (f.status_code)     #의 인쇄 상태 코드 
수프는 BeautifulSoup로 (f.text = ' LXML를 ' )     # 구문 분석 lxml이 파서가있는 페이지의 내용을 
인쇄 (soup.select ( ' IMG ' ))    #의 모든 img 태그 필터링 및 속성과 그 내용을 인쇄

다음과 같이 코드의 실행 결과는 다음과 같습니다

인쇄 찾을 수 HTML 웹 페이지가 모든 고려, 동일하지 않습니다,이 소스 URL의 그림이 아니며, 다음 사진은, 바이두는 기사에 ... 찾아 큰 오빠를 계속에만 다음을 찾을 역동적 인 것 같다 방법을 검색 할 수 있습니다.

 

2. 클릭 네트워크 ->를 XHR-이> 다음 스크롤 휠 아래로, 그것은 새로운 이미지를로드 클릭 -> 새로 그림 밖으로로드를 클릭 -> 오른쪽에 미리보기를 클릭합니다

 찾기 JSON 형식에 대한 미리보기 아래 내용을

찾을 수 ALL_ITEMS, 0 ..... 그 많은 숫자를 찾아 클릭 한 다음 기존 URL의 많은 발전을 가리 보려면 브라우저에 붙여 이러한 사진의 URL 것으로 나타났습니다 (기쁨)

실제 URL의 사진을 찾아 문제가 쉽게 될 것입니다. 자세한 내용은 ~의 코드를 참조하거나 의견을주십시오

추천

출처www.cnblogs.com/v-fan/p/12503094.html