Python 파충 류 는 웹 페이지 그림 을 대량으로 기어 서 로 컬 구현 코드 에 저장 합 니 다.
이제 url 을 붙 입 니 다=https://img.ivsky.com/img/tupian/t/201008/05/bianxingjingang-001.jpg
위의 url 을 복사 하여 어떤 브 라 우 저 에서 직접 열 면 다음 과 같은 내용 을 볼 수 있 습 니 다.
이것 이 바로 웹 페이지 를 통 해 방문 한 이 사이트 의 이 사진 입 니 다.그래서 우 리 는 requests 모듈 을 직접 이용 하여 이 그림 의 요 구 를 할 수 있 습 니 다.그래서 이 사 이 트 는 우리 에 게 이 그림 의 데 이 터 를 되 돌려 줄 것 입 니 다.우 리 는 데 이 터 를 로 컬 파일 에 기록 하면 됩 니 다.비교적 간단 합 니 다.
import requests
headers={
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.25 Safari/537.36 Core/1.70.3861.400 QQBrowser/10.7.4313.400'}
url='https://img.ivsky.com/img/tupian/t/201008/05/bianxingjingang-001.jpg'
re=requests.get(url,headers=headers)
print(re.status_code)# , 200
path='test.jpg'#
with open(path, 'wb') as f:# ,wb
for chunk in re.iter_content(chunk_size=128):
f.write(chunk)
그리고 test.jpg 그림 을 얻 으 면 다음 과 같 습 니 다.클릭 하여 아래 보기:
다운로드 성공 매 운,간단 하 죠?
현재 대량 다운 로드 를 분석 하면 우 리 는 위의 코드 를 하나의 함수 로 포장 합 니 다.그래서 모든 그림 에 대해 하나의 이름,하나의 그림 파일 로 요청 합 니 다.그래서 다음 과 같은 코드 가 있 습 니 다.
import requests
def get_pictures(url,path):
headers={
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.25 Safari/537.36 Core/1.70.3861.400 QQBrowser/10.7.4313.400'}
re=requests.get(url,headers=headers)
print(re.status_code)# , 200
with open(path, 'wb') as f:# ,wb
for chunk in re.iter_content(chunk_size=128):
f.write(chunk)
url='https://img.ivsky.com/img/tupian/t/201008/05/bianxingjingang-001.jpg'
path='test.jpg'#
get_pictures(url,path)
현재 사진 을 대량으로 다운로드 하 는 것,즉 사진 을 대량으로 얻 는 url 을 실현 하려 면 우 리 는 웹 페이지 의 코드 구 조 를 분석 하고 원시 사이트https://www.ivsky.com/tupian/bianxingjingang_v622/를 열 면 다음 과 같은 사진 을 볼 수 있다.따라서 우 리 는 이 페이지 에 표 시 된 모든 그림 의 url 을 각각 받 아야 합 니 다.그래서 우 리 는 다시 requests 모듈 로 현재 페이지 의 내용 을 되 돌려 줍 니 다.다음 과 같 습 니 다.
import requests
headers={
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.25 Safari/537.36 Core/1.70.3861.400 QQBrowser/10.7.4313.400'}
url='https://www.ivsky.com/tupian/bianxingjingang_v622/'
re=requests.get(url,headers=headers)
print(re.text)
실행 은 현재 이 페이지 의 웹 페이지 구조 내용 을 되 돌려 줍 니 다.그래서 우 리 는 그림 과 관련 된.jpg 또는.png 등 그림 형식의 쪽 지 를 찾 았 습 니 다.다음 과 같 습 니 다.위 에 동 그 라 미 를 친**/img.ivsky.com/img/tupian/t/2010 08/05/bianxingjing-017.jpg**는 바로 우리 의 그림 url 이지 만 앞 에 https 를 더 해 야 하기 때문에 완 성 된 url 은https://img.ivsky.com/img/tupian/t/201008/05/bianxingjingang-017.jpg입 니 다.
우 리 는 이 구 조 를 알 게 되 었 다.지금 은 이것 을 추출 하여 간단 한 해석 식 을 쓰 는 것 이다.
import requests
headers={
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.25 Safari/537.36 Core/1.70.3861.400 QQBrowser/10.7.4313.400'}
url='https://www.ivsky.com/tupian/bianxingjingang_v622/'
re=requests.get(url,headers=headers)
def get_pictures_urls(text):
st='img src="'
m=len(st)
i=0
n=len(text)
urls=[]# url
while i<n:
if text[i:i+m]==st:
url=''
for j in range(i+m,n):
if text[j]=='"':
i=j
urls.append(url)
break
url+=text[j]
i+=1
return urls
urls=get_pictures_urls(re.text)
for url in urls:
print(url)
인쇄 결 과 는 다음 과 같 습 니 다.url 을 얻 었 습 니 다.지금 바로 시작 하 는 get 을 넣 습 니 다.pictures 함수 에서 그림 이 맵 습 니 다.
import requests
def get_pictures(url,path):
headers={
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.25 Safari/537.36 Core/1.70.3861.400 QQBrowser/10.7.4313.400'}
re=requests.get(url,headers=headers)
print(re.status_code)# , 200
with open(path, 'wb') as f:# ,wb
for chunk in re.iter_content(chunk_size=128):
f.write(chunk)
def get_pictures_urls(text):
st='img src="'
m=len(st)
i=0
n=len(text)
urls=[]# url
while i<n:
if text[i:i+m]==st:
url=''
for j in range(i+m,n):
if text[j]=='"':
i=j
urls.append(url)
break
url+=text[j]
i+=1
return urls
headers={
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.25 Safari/537.36 Core/1.70.3861.400 QQBrowser/10.7.4313.400'}
url='https://www.ivsky.com/tupian/bianxingjingang_v622/'
re=requests.get(url,headers=headers)
urls=get_pictures_urls(re.text)# url
for i in range(len(urls)):#
url='https:'+urls[i]
path=' '+str(i)+'.jpg'
get_pictures(url,path)
결 과 는 다음 과 같다.그 다음 에 매 운 것 을 완성 합 니 다.여 기 는 사진 을 대량으로 얻 는 과정 을 간단하게 소개 할 뿐 입 니 다.구체 적 인 사 이 트 는 구체 적 인 분석 이 필요 합 니 다.그래서 본 고 는 사진 을 대량으로 얻 는 과정 분석 을 상세 하 게 보 여 주 었 습 니 다.당신 의 학습 에 도움 이 되 기 를 바 랍 니 다.문제 가 있 으 면 신속하게 지적 해 주 십시오.감사합니다.
파 이 썬 파충류 가 대량으로 웹 페이지 를 기어 올 라 가 로 컬 에 저장 하 는 것 에 관 한 이 글 은 여기까지 소개 되 었 습 니 다.더 많은 파 이 썬 파충류 가 사진 을 기어 올 라 로 컬 에 저장 하 는 내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 찾 아 보 세 요.앞으로 저 희 를 많이 응원 해 주세요!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Python의 None과 NULL의 차이점 상세 정보그래서 대상 = 속성 + 방법 (사실 방법도 하나의 속성, 데이터 속성과 구별되는 호출 가능한 속성 같은 속성과 방법을 가진 대상을 클래스, 즉 Classl로 분류할 수 있다.클래스는 하나의 청사진과 같아서 하나의 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.