파 이 썬 으로 영웅 연맹 피부 원 화 를 가 져 오 는 법 을 알려 드릴 게 요.
1.먼저'리그 오 브 레 전 드'홈 페이지 에서 영웅 과 피부 사진 을 찾 아 보 자.
http://lol.qq.com/data/info-heros.shtml
2.위의 사이트 에서 모든 영웅 이 있 는 것 을 볼 수 있 습 니 다.F12 를 누 르 면 소스 코드 를 볼 수 있 습 니 다.영웅 과 피부 사진 이 직접 제시 되 지 않 고 JS 파일 에 숨겨 져 있 음 을 알 수 있 습 니 다.이 럴 때 Network 를 켜 고 js 창 을 찾 아 웹 페이지 를 새로 고침 하면 champion.js 옵션 을 볼 수 있 습 니 다.클릭 하면 사전 을 볼 수 있 습 니 다.그 안에 모든 영웅 의 이름(영어)과 해당 하 는 번호 가 포함 되 어 있 습 니 다.
3.그러나 영웅 의 이름(영어)과 해당 하 는 번호 만 있 으 면 그림 주 소 를 찾 을 수 없다.그래서 홈 페이지 로 돌아 가 영웅 을 마음대로 누 르 고 페이지 를 돌 린 후에 영웅 과 피부의 그림 이 모두 있 는 것 을 발견 했다.그러나 다운로드 하려 면 원래 의 주 소 를 찾 아야 한다.이것 은 마우스 우 클릭 으로'새 탭 에서 열기'를 선택 하 는 것 이다.새로운 홈 페이지 가 바로 그림 의 원래 주소 이다.
4.그림 에서 빨간색 상 자 는 우리 가 필요 로 하 는 그림 주소 이다.분석 을 통 해 알 수 있 듯 이 모든 영웅 과 피부의 주 소 는 번호 만 다르다http://ossweb-img.qq.com/images/lol/web201310/skin/big266000.jpg.이 번 호 는 6 명 이 고 앞의 3 명 은 영웅 을 나타 내 며 뒤의 3 명 은 피 부 를 나타 낸다.방금 찾 은 js 파일 에는 마침 영웅 의 번호 가 있 고 피부의 인 코딩 은 스스로 정의 할 수 있 습 니 다.어차피 영웅 마다 피부 가 20 개 를 넘 지 않 고 조합 하면 됩 니 다.
추리 코드
STEP 1:js 사전 가 져 오기
def path_js(url_js):
res_js = requests.get(url_js, verify = False).content
html_js = res_js.decode("gbk")
pat_js = r'"keys":(.*?),"data"'
enc = re.compile(pat_js)
list_js = enc.findall(html_js)
dict_js = eval(list_js[0])
return dict_js
두 번 째 단계:js 사전 에서 key 값 을 추출 하여 url 목록 을 생 성 합 니 다.
def path_url(dict_js):
pic_list = []
for key in dict_js:
for i in range(20):
xuhao = str(i)
if len(xuhao) == 1:
num_houxu = "00" + xuhao
elif len(xuhao) == 2:
num_houxu = "0" + xuhao
numStr = key+num_houxu
url = r'http://ossweb-img.qq.com/images/lol/web201310/skin/big'+numStr+'.jpg'
pic_list.append(url)
print(pic_list)
return pic_list
세 번 째 단계:js 사전 에서 value 값 을 추출 하여 name 목록 을 만 듭 니 다.
def name_pic(dict_js, path):
list_filePath = []
for name in dict_js.values():
for i in range(20):
file_path = path + name + str(i) + '.jpg'
list_filePath.append(file_path)
return list_filePath
STEP 4:데이터 다운로드 및 저장
def writing(url_list, list_filePath):
try:
for i in range(len(url_list)):
res = requests.get(url_list[i], verify = False).content
with open(list_filePath[i], "wb") as f:
f.write(res)
except Exception as e:
print(" ,%s" %(e))
return False
다섯 번 째 단계:주 프로그램 실행
if __name__ == '__main__':
url_js = r'http://lol.qq.com/biz/hero/champion.js'
path = r'./data/' #
dict_js = path_js(url_js)
url_list = path_url(dict_js)
list_filePath = name_pic(dict_js, path)
writing(url_list, list_filePath)
실행 후 콘 솔 에서 모든 그림 의 주 소 를 출력 합 니 다:폴 더 에서 그림 이 다운 로드 된 것 을 볼 수 있 습 니 다.
그림:
파 이 썬 으로 영웅 연맹 피부 원 화 를 가 져 오 는 방법 을 알려 드 리 는 이 글 은 여기까지 입 니 다.더 많은 파 이 썬 피부 콘 텐 츠 는 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 찾 아 보 세 요.앞으로 도 많은 응원 부 탁 드 리 겠 습 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Python의 None과 NULL의 차이점 상세 정보그래서 대상 = 속성 + 방법 (사실 방법도 하나의 속성, 데이터 속성과 구별되는 호출 가능한 속성 같은 속성과 방법을 가진 대상을 클래스, 즉 Classl로 분류할 수 있다.클래스는 하나의 청사진과 같아서 하나의 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.