欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

用python爬取電腦壁紙實(shí)例代碼

 更新時(shí)間:2022年02月14日 08:46:48   作者:密發(fā)漸消  
大家好,本篇文章主要講的是用python爬取電腦壁紙實(shí)例代碼,感興趣的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話記得收藏一下

前言

        聽說(shuō)好的編程習(xí)慣是從寫文章敲代碼開始的,下面給大家介紹一個(gè)簡(jiǎn)單的python爬取圖片的過(guò)程,超簡(jiǎn)單。我都不好意思寫,但是主要是捋一下爬取過(guò)程。本文只是技術(shù)交流的,請(qǐng)不要商業(yè)用途哈

一、用到的工具

  

 使用python爬蟲工具,我使用的工具就是學(xué)習(xí)python都會(huì)用的的工具,一個(gè)是pycharm,一個(gè)是chrome,使用chrome只是我的個(gè)人習(xí)慣,也可以用其他的瀏覽器,我除了這兩個(gè)軟件還用到了window自帶的瀏覽器。

二、爬取步驟與過(guò)程

1.用到的庫(kù)

爬取圖片我主要用到了爬蟲初學(xué)的requests請(qǐng)求模塊和xpath模塊,這用xpath只是為了方便找圖片的鏈接和路徑的,當(dāng)然也可以用re模塊和Beautiful Soup模塊這些。time模塊是為了后續(xù)下載圖片做延時(shí)的,畢竟要保護(hù)下網(wǎng)站,Pinyin模塊里面有個(gè)程序要將中文轉(zhuǎn)成拼音。

import time
import pinyin
import requests
from lxml import etree    #這是導(dǎo)入xpath模塊

2.解析代碼

首先輸入選擇圖片類型和圖片的也網(wǎng)址頁(yè)碼,因?yàn)橐环N類型的圖片有很多圖片的,一個(gè)網(wǎng)頁(yè)是放不下的這就需要選擇多個(gè)頁(yè)碼。

type=input("請(qǐng)輸入圖片的類型:")
type=pinyin.get(f"{type}",format="strip")   #這是將輸入的中文轉(zhuǎn)成拼音,format是為了去掉拼音的聲標(biāo)
m=input("請(qǐng)輸入圖片的頁(yè)碼:")        #圖片類型所在網(wǎng)頁(yè)的頁(yè)碼

接下來(lái)就請(qǐng)求網(wǎng)址了,其中先獲取網(wǎng)址的源代碼,然后通過(guò)xpath獲取圖片的鏈接和名字,為什么是小圖片呢,因?yàn)橐粋€(gè)網(wǎng)頁(yè)要顯示很多圖片,如果是大圖片,一個(gè)網(wǎng)頁(yè)只能放一張的。

url=f"https://pic.netbian.com/4k{type}/index_{m}.html"
header={
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.82 Safari/537.36"
}
resp=requests.get(url=url,headers=header)
resp.encoding="gbk"
tree=etree.HTML(resp.text)
tu_links=tree.xpath('//*[@id="main"]/div[3]/ul/li/a/@href')    #小圖片的鏈接
tu_names=tree.xpath('//*[@id="main"]/div[3]/ul/li/a/b/text()')  #圖片的名字

接下來(lái)就是一層一層的找圖片的鏈接,和下載地址,也就是一個(gè)查找的循環(huán)操作。

    tu_link.split()
    child_url = url.split(f'/4k{type}/')[0] + tu_link       #將小圖片的部分鏈接和主鏈接拼接起來(lái)
    resp1 = requests.get(url=child_url, headers=header)     #打開小圖片的網(wǎng)址
    resp1.encoding = 'gbk'
    tree1 = etree.HTML(resp1.text)
    child_tu_link= tree1.xpath('/html/body/div[2]/div[1]/div[2]/div[1]/div[2]/a/img/@src')     #獲取大圖片的部分鏈接
    child_tu_link=child_tu_link[0]
    child_tu_link_over=url.split(f'/4k{type}/')[0]+child_tu_link        #將大圖片鏈接拼接起來(lái)
    resp2=requests.get(child_tu_link_over,headers=header)       #獲取大圖片

最后就是下載圖片啦

    with open(f"壁紙圖片/{name}.jpg",mode="wb") as f:           #接下來(lái)就是下載了
        f.write(resp2.content)

來(lái)看看最后的效果吧

3.最后上全部的代碼啦

這就是簡(jiǎn)簡(jiǎn)單單的爬取圖片的代碼,完全沒(méi)有用到什么復(fù)雜的知識(shí),簡(jiǎn)簡(jiǎn)單單,你值得擁有哈哈

import time
import pinyin
import requests
from lxml import etree    #這是導(dǎo)入xpath模塊
type=input("請(qǐng)輸入圖片的類型:")
type=pinyin.get(f"{type}",format="strip")   #這是將輸入的中文轉(zhuǎn)成拼音,format是為了去掉拼音的聲標(biāo)
m=input("請(qǐng)輸入圖片的頁(yè)碼:")        #圖片類型所在網(wǎng)頁(yè)的頁(yè)碼
url=f"https://pic.netbian.com/4k{type}/index_{m}.html"
header={
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.82 Safari/537.36"
}
resp=requests.get(url=url,headers=header)
resp.encoding="gbk"
tree=etree.HTML(resp.text)
tu_links=tree.xpath('//*[@id="main"]/div[3]/ul/li/a/@href')    #小圖片的部分鏈接
tu_names=tree.xpath('//*[@id="main"]/div[3]/ul/li/a/b/text()')  #圖片的名字
n=0
for tu_link in tu_links:
    tu_link.split()
    child_url = url.split(f'/4k{type}/')[0] + tu_link       #將小圖片的部分鏈接和主鏈接拼接起來(lái)
    resp1 = requests.get(url=child_url, headers=header)     #打開小圖片的網(wǎng)址
    resp1.encoding = 'gbk'
    tree1 = etree.HTML(resp1.text)
    child_tu_link= tree1.xpath('/html/body/div[2]/div[1]/div[2]/div[1]/div[2]/a/img/@src')     #獲取大圖片的部分鏈接
    child_tu_link=child_tu_link[0]
    child_tu_link_over=url.split(f'/4k{type}/')[0]+child_tu_link        #將大圖片鏈接拼接起來(lái)
    resp2=requests.get(child_tu_link_over,headers=header)       #獲取大圖片
    name=tu_names[n]
    with open(f"壁紙圖片/{name}.jpg",mode="wb") as f:           #接下來(lái)就是下載了
        f.write(resp2.content)
        print(f"{name}          下載完畢!!")
        n+=1        #每下載一張圖片n就加1
        time.sleep(1.5)
        resp1.close()
print("全部下載完畢??!")       #over!over!
resp.close()        #最后記得要把所有請(qǐng)求的響應(yīng)關(guān)閉
 
 
 
 

注意:本文章只用于技術(shù)交流,請(qǐng)勿用于商用,如有違反,吾概不負(fù)責(zé)?。。?/strong>

總結(jié)

到此這篇關(guān)于用python爬取電腦壁紙實(shí)例代碼的文章就介紹到這了,更多相關(guān)python爬取電腦壁紙內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 詳解java調(diào)用python的幾種用法(看這篇就夠了)

    詳解java調(diào)用python的幾種用法(看這篇就夠了)

    這篇文章主要介紹了詳解java調(diào)用python的幾種用法(看這篇就夠了),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • python內(nèi)置函數(shù)之eval函數(shù)詳解

    python內(nèi)置函數(shù)之eval函數(shù)詳解

    這篇文章主要為大家介紹了python內(nèi)置函數(shù)之eval函數(shù),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助
    2022-01-01
  • Python 如何創(chuàng)建一個(gè)線程池

    Python 如何創(chuàng)建一個(gè)線程池

    這篇文章主要介紹了Python 如何創(chuàng)建一個(gè)線程池,文中講解非常細(xì)致,代碼幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下
    2020-07-07
  • Python異常處理與反射相關(guān)問(wèn)題總結(jié)

    Python異常處理與反射相關(guān)問(wèn)題總結(jié)

    今天給大家?guī)?lái)的是關(guān)于Python的相關(guān)知識(shí),文章圍繞著Python異常處理與反射展開,文中有非常詳細(xì)的介紹及代碼示例,需要的朋友可以參考下
    2021-06-06
  • 深入探索Python解碼神器Chardet自動(dòng)檢測(cè)文本編碼

    深入探索Python解碼神器Chardet自動(dòng)檢測(cè)文本編碼

    Chardet,洞察編碼的清晰水晶球,一個(gè)讓你與編碼不再“失聯(lián)”的神器,本文帶大家走近這個(gè)隱藏在Python工具箱中的小寶貝,探索它的秘密
    2024-01-01
  • face_recognition庫(kù)在python的安裝

    face_recognition庫(kù)在python的安裝

    這篇文章主要介紹了face_recognition庫(kù)在python的安裝,解決了一些沒(méi)有安裝時(shí)出現(xiàn)的一些錯(cuò)誤,需要的朋友可以參考下
    2021-04-04
  • zookeeper python接口實(shí)例詳解

    zookeeper python接口實(shí)例詳解

    這篇文章主要介紹了zookeeper python接口實(shí)例詳解,具有一定借鑒價(jià)值,需要的朋友可以參考下
    2018-01-01
  • python pip源配置,pip配置文件存放位置的方法

    python pip源配置,pip配置文件存放位置的方法

    今天小編就為大家分享一篇python pip源配置,pip配置文件存放位置的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-07-07
  • Python內(nèi)存管理器如何實(shí)現(xiàn)池化技術(shù)

    Python內(nèi)存管理器如何實(shí)現(xiàn)池化技術(shù)

    Python中的內(nèi)存管理是從三個(gè)方面來(lái)進(jìn)行的,一對(duì)象的引用計(jì)數(shù)機(jī)制,二垃圾回收機(jī)制,三內(nèi)存池機(jī)制,下面這篇文章主要給大家介紹了關(guān)于Python內(nèi)存管理器如何實(shí)現(xiàn)池化技術(shù)的相關(guān)資料,需要的朋友可以參考下
    2022-05-05
  • Python爬蟲基于lxml解決數(shù)據(jù)編碼亂碼問(wèn)題

    Python爬蟲基于lxml解決數(shù)據(jù)編碼亂碼問(wèn)題

    這篇文章主要介紹了Python爬蟲基于lxml解決數(shù)據(jù)編碼亂碼問(wèn)題,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-07-07

最新評(píng)論