Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Crawler |. Muat turun kumpulan kertas dinding HD (kod sumber + alatan disertakan)

Crawler |. Muat turun kumpulan kertas dinding HD (kod sumber + alatan disertakan)

Python当打之年
Python当打之年ke hadapan
2023-08-10 15:46:011462semak imbas

. adalah bahan yang sangat baik untuk semua orang, dan ia juga sangat praktikal untuk beberapa rakan copywriting ilustrasi. Ia juga berfungsi dengan baik sebagai kertas dinding. Kod fungsi yang sepadan telah dibungkus ke dalam alat exe, saya harap ia akan membantu anda

Kaedah pemerolehan kod + alat dilampirkan pada akhir artikel
.
.

Mari kita lihat proses muat turun manual terlebih dahulu Perhatikan bahawa bukannya mengklik kanan imej dan menyimpannya sebagai, imej yang diperoleh dengan mengklik kanan kaedah simpan dimampatkan dengan nisbah tertentu, dan kejelasan akan menjadi. dikurangkan banyak.
Ambil Alam sebagai contoh, klik
Muat turun percuma dan pilih laluan muat turun Saiz imej ialah 1.43M.

next,
Analyze laman web khusus:

Crawler |. Muat turun kumpulan kertas dinding HD (kod sumber + alatan disertakan)

First of All, kami melihat bahawa terdapat pilihan pemilihan nombor halaman di bahagian bawah laman web untuk menarik ke bawah peluncur halaman web dan mendapati
imej Ia dimuatkan secara dinamik, iaitu apabila kita menarik ke bawah halaman web, gambar-gambar seterusnya akan dipaparkan satu demi satu.

Selepas beberapa operasi, saya mendapati bahawa apabila menarik ke bawah, halaman web akan mengeluarkan permintaan berikut dan anda boleh melihat gambar

Jumlah bilangan: 10000, jumlah bilangan halaman: 500
.
Crawler |. Muat turun kumpulan kertas dinding HD (kod sumber + alatan disertakan)

Mari keluarkan beberapa URL dan lihat:

Crawler |. Muat turun kumpulan kertas dinding HD (kod sumber + alatan disertakan)

Pautan di atas hanya mempunyai berbeza parameter halaman, dan parameter halaman yang semakin mesra yang semakin meningkat . Apabila meminta, mereka teratur. . panjang Tepat sekali 20, Dengan nilai per_page yang sama dalam permintaan, tidak syak lagi bahawa pautan ke setiap imej yang kami cari ada di sini.

Menganalisis halaman web selalunya memakan masa, tetapi secara keseluruhannya kini kami merangkak imej secara rasmi.

Crawler |. Muat turun kumpulan kertas dinding HD (kod sumber + alatan disertakan)

2. Gambar merangkak
import time
import random
import json
import requests
from fake_useragent import UserAgent
masa: Masa


rawak: Jana nombor rawak
json: Proses data format json

  • 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)
    效果:

    Crawler |. Muat turun kumpulan kertas dinding HD (kod sumber + alatan disertakan)


    3. EXE爬取

    exe工具运行结果:

    Crawler |. Muat turun kumpulan kertas dinding HD (kod sumber + alatan disertakan)

    Nota:
    • Cuba untuk tidak merangkak dengan kerap untuk mengelakkan menjejaskan susunan rangkaian!

    • Gambar adalah gambar definisi tinggi dari Internet Kelajuan merangkak adalah berkaitan dengan rangkaian dan secara amnya tidak terlalu pantas.

    • Anda boleh membina kumpulan proksi untuk merangkak dengan lebih pantas.

    Atas ialah kandungan terperinci Crawler |. Muat turun kumpulan kertas dinding HD (kod sumber + alatan disertakan). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

    Kenyataan:
    Artikel ini dikembalikan pada:Python当打之年. Jika ada pelanggaran, sila hubungi admin@php.cn Padam