백엔드 개발 파이썬 튜토리얼 크롤러 | HD 배경화면 일괄 다운로드(소스 코드 + 도구 포함)

크롤러 | HD 배경화면 일괄 다운로드(소스 코드 + 도구 포함)

Aug 10, 2023 pm 03:46 PM
python


Unsplash는 무료 고품질 사진 웹사이트입니다 , 모두 실제 사진 사진이며, 사진 해상도도 매우 커서 디자이너 친구를 위한 것입니다. 누구에게나 매우 좋은 소재이며 일부 일러스트레이션 카피라이팅 친구들에게도 매우 실용적입니다. 배경화면으로도 좋습니다. 해당 기능 코드는 exe 도구로 패키징되어 있습니다. 코드 + 도구 획득 방법은 기사 마지막에 첨부되어 있습니다.


1. 모듈 가져오기

1.1 모듈 가져오기

크롤러 | HD 배경화면 일괄 다운로드(소스 코드 + 도구 포함)

먼저 수동 다운로드 과정을 살펴보겠습니다. 이미지를 마우스 오른쪽 버튼으로 클릭하여 다른 이름으로 저장하는 대신, 저장 방법을 마우스 오른쪽 버튼으로 클릭하여 얻은 이미지가 일정 비율로 압축되어 선명도가 향상됩니다. 많이 줄었습니다. 자연을 예로 들어 무료 다운로드를 클릭하고 다운로드 경로를 선택하세요. 이미지 크기는 1.43M입니다.

크롤러 | HD 배경화면 일괄 다운로드(소스 코드 + 도구 포함)
다음으로 특정 웹페이지 분석:
우선 웹페이지 하단에 페이지 번호 선택 옵션이 있는 것을 확인했습니다. 웹페이지 슬라이더를 아래로 내리면 이미지를 찾았습니다. 동적으로 로드됩니다. 즉, 웹페이지를 아래로 내리면 다음 사진이 차례로 표시됩니다.

몇번의 작업 후에 아래로 내리면 웹페이지에서 다음 요청을 발행하는 것을 발견했습니다. 그 중 하나를 클릭하면 사진을 볼 수 있습니다. 총 수: 10000, 총 페이지 수: 500.

크롤러 | HD 배경화면 일괄 다운로드(소스 코드 + 도구 포함)

몇 개의 URL을 꺼내서 살펴보겠습니다.

크롤러 | HD 배경화면 일괄 다운로드(소스 코드 + 도구 포함)

위 링크는 페이지 매개변수만 다르고 순서대로 증가하고 있어 비교적 친숙합니다. . 요청하면 순서대로 이동됩니다.

페이지 번호 문제가 해결되었습니다. 다음으로 각 사진의 링크를 분석합니다. :

크롤러 | HD 배경화면 일괄 다운로드(소스 코드 + 도구 포함)

결과 목록이 표시됩니다length 정확히 20, 요청에 동일한 per_page 값이 있으면 우리가 찾고 있는 각 이미지에 대한 링크가 여기에 있다는 것은 의심의 여지가 없습니다.
웹페이지 분석은 종종 시간이 많이 걸리지만 전반적으로 원활하게 진행됩니다. 이제 공식적으로 이미지를 크롤링합니다.


2. 사진 크롤링

2.1 가져오기 모듈
import time
import random
import json
import requests
from fake_useragent import UserAgent
로그인 후 복사
  • 시간: 타이밍
  • random: 난수 생성

  • json: json 형식 데이터 처리

  • requests: 웹 페이지 요청

  • fake_useragent:代理

2.2 获取图片
模拟代理,以网页的身份访问服务器,避免请求被服务器判定为机器爬虫而不响应请求
ua = UserAgent(verify_ssl=False)
headers = {'User-Agent': ua.random}
로그인 후 복사
根据响应,获取所有图片链接:
def getpicurls(i,headers):
    picurls = []
    url = 'https://unsplash.com/napi/search/photos?query=nature&per_page=20&page={}&xp=feedback-loop-v2%3Aexperiment'.format(i)
    r = requests.get(url, headers=headers, timeout=5)
    time.sleep(random.uniform(3.1, 4.5))
    r.raise_for_status()
    r.encoding = r.apparent_encoding
    allinfo = json.loads(r.text)
    results = allinfo['results']
    for result in results:
        href = result['urls']['full']
        picurls.append(href)
    return picurls
로그인 후 복사
2.3 保存图片

保存图片文件:
def getpic(count,url):
    r = requests.get(url, headers=headers, timeout=5)
    with open('pictures/{}.jpg'.format(count), 'wb') as f:
        f.write(r.content)
로그인 후 복사
效果:

크롤러 | HD 배경화면 일괄 다운로드(소스 코드 + 도구 포함)


3. EXE爬取

exe工具运行结果:

크롤러 | HD 배경화면 일괄 다운로드(소스 코드 + 도구 포함)

참고:
  • 네트워크 순서에 영향을 주지 않도록 자주 크롤링하지 마세요!

  • 사진은 인터넷에서 가져온 고화질 사진입니다. 크롤링 속도는 네트워크와 관련이 있으며 일반적으로 너무 빠르지는 않습니다.

  • 프록시 풀을 구축하면 더 빠르게 크롤링할 수 있습니다.

위 내용은 크롤러 | HD 배경화면 일괄 다운로드(소스 코드 + 도구 포함)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

Linux 터미널에서 Python 버전을 볼 때 발생하는 권한 문제를 해결하는 방법은 무엇입니까? Linux 터미널에서 Python 버전을 볼 때 발생하는 권한 문제를 해결하는 방법은 무엇입니까? Apr 01, 2025 pm 05:09 PM

Linux 터미널에서 Python 버전을 보려고 할 때 Linux 터미널에서 Python 버전을 볼 때 권한 문제에 대한 솔루션 ... Python을 입력하십시오 ...

한 데이터 프레임의 전체 열을 Python의 다른 구조를 가진 다른 데이터 프레임에 효율적으로 복사하는 방법은 무엇입니까? 한 데이터 프레임의 전체 열을 Python의 다른 구조를 가진 다른 데이터 프레임에 효율적으로 복사하는 방법은 무엇입니까? Apr 01, 2025 pm 11:15 PM

Python의 Pandas 라이브러리를 사용할 때는 구조가 다른 두 데이터 프레임 사이에서 전체 열을 복사하는 방법이 일반적인 문제입니다. 두 개의 dats가 있다고 가정 해

파이썬 매개 변수 주석이 문자열을 사용할 수 있습니까? 파이썬 매개 변수 주석이 문자열을 사용할 수 있습니까? Apr 01, 2025 pm 08:39 PM

파이썬 프로그래밍에서 Python 매개 변수 주석의 대체 사용법, 매개 변수 주석은 개발자가 기능을 더 잘 이해하고 사용하는 데 도움이되는 매우 유용한 기능입니다 ...

Python Cross-Platform 데스크탑 응용 프로그램 개발 : 어떤 GUI 라이브러리가 가장 적합합니까? Python Cross-Platform 데스크탑 응용 프로그램 개발 : 어떤 GUI 라이브러리가 가장 적합합니까? Apr 01, 2025 pm 05:24 PM

Python 크로스 플랫폼 데스크톱 응용 프로그램 개발 라이브러리 선택 많은 Python 개발자가 Windows 및 Linux 시스템 모두에서 실행할 수있는 데스크탑 응용 프로그램을 개발하고자합니다 ...

내 코드가 API에 의해 데이터를 반환 할 수없는 이유는 무엇입니까? 이 문제를 해결하는 방법? 내 코드가 API에 의해 데이터를 반환 할 수없는 이유는 무엇입니까? 이 문제를 해결하는 방법? Apr 01, 2025 pm 08:09 PM

내 코드가 API에 의해 데이터를 반환 할 수없는 이유는 무엇입니까? 프로그래밍에서 우리는 종종 API가 호출 될 때 NULL 값을 반환하는 문제를 겪는 경우가 종종 있습니다.

Uvicorn은 Serving_forever ()없이 HTTP 요청을 어떻게 지속적으로 듣습니까? Uvicorn은 Serving_forever ()없이 HTTP 요청을 어떻게 지속적으로 듣습니까? Apr 01, 2025 pm 10:51 PM

Uvicorn은 HTTP 요청을 어떻게 지속적으로 듣습니까? Uvicorn은 ASGI를 기반으로 한 가벼운 웹 서버입니다. 핵심 기능 중 하나는 HTTP 요청을 듣고 진행하는 것입니다 ...

Python 스크립트는 특정 위치에서 Cursor 위치로 출력을 어떻게 제거합니까? Python 스크립트는 특정 위치에서 Cursor 위치로 출력을 어떻게 제거합니까? Apr 01, 2025 pm 11:30 PM

Python 스크립트는 특정 위치에서 Cursor 위치로 출력을 어떻게 제거합니까? Python 스크립트를 작성할 때 이전 출력을 커서 위치로 지우는 것이 일반적입니다 ...

Google과 AWS는 공개 PYPI 이미지 소스를 제공합니까? Google과 AWS는 공개 PYPI 이미지 소스를 제공합니까? Apr 01, 2025 pm 05:15 PM

많은 개발자들이 PYPI (PythonPackageIndex)에 의존합니다 ...

See all articles