溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

怎么用python爬取一組小姐姐圖片

發(fā)布時(shí)間:2022-01-17 09:05:19 來(lái)源:億速云 閱讀:120 作者:iii 欄目:開(kāi)發(fā)技術(shù)

本篇內(nèi)容主要講解“怎么用python爬取一組小姐姐圖片”,感興趣的朋友不妨來(lái)看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來(lái)帶大家學(xué)習(xí)“怎么用python爬取一組小姐姐圖片”吧!

引入庫(kù)

import time
import requests
from lxml import etree
這三個(gè)庫(kù)是為了讓我們?cè)谡?qǐng)求別人網(wǎng)站的時(shí)候,讓程序休息一會(huì),避免別人的網(wǎng)站會(huì)攔截或者崩潰和將得到的頁(yè)面源代碼進(jìn)行解析。

網(wǎng)頁(yè)分析

怎么用python爬取一組小姐姐圖片

利用瀏覽器的開(kāi)發(fā)者模式,對(duì)頁(yè)面進(jìn)行分析,找出我們所需要的每個(gè)圖片封面url

href = tree.xpath('//*[@id="features"]/div/div[1]/div/div[1]/a/@href')

我們得到了封面的url后,但這還不是我們所需要的,我們所需要的是超鏈接里面的圖片

怎么用python爬取一組小姐姐圖片

 我們進(jìn)入后,發(fā)現(xiàn)每張圖片都在<p></p>里面,如何我們利用循環(huán)得到每張圖片的url地址

 for url_img in href:
            img_url = requests.get(url_img,headers=head)
            # print(img_url.text)
            time.sleep(1)
            t = etree.HTML(img_url.text)
            url_list = t.xpath("/html/body/section/div/div/div[1]/div[2]/p[2]/img/@src")

剩下的就很簡(jiǎn)單了,我們只需對(duì)文件進(jìn)行保存就得到我們想要的結(jié)果了。

 with open(f"./img/{name}",mode="wb") as f:
        f.write(download_img.content)
        print("正在下載:" +name)
        time.sleep(1)

怎么用python爬取一組小姐姐圖片

完整代碼

import time
import requests
from lxml import etree
 
def get_page_url():
    for i in range(1, 4): # 循環(huán)3頁(yè)
        url = f"https://mm.tvv.tw/category/xinggan/{i}/"
 
        # 請(qǐng)求頁(yè)面得到源代碼
        res = requests.get(url,headers=head)
        # 對(duì)源代碼進(jìn)行解析
        tree = etree.HTML(res.text)
        # 得到每個(gè)圖片的封面url(href)
        href = tree.xpath('//*[@id="features"]/div/div[1]/div/div[1]/a/@href')
        # print("-------------------------------------------------------")
        time.sleep(3)
        for url_img in href:
            img_url = requests.get(url_img,headers=head)
            # print(img_url.text)
            time.sleep(1)
            t = etree.HTML(img_url.text)
            url_list = t.xpath("/html/body/section/div/div/div[1]/div[2]/p[2]/img/@src")
            # print(url_list)
            time.sleep(1)
            for url_src in url_list:
                get_img(url_src)
 
def get_img(url):
    name = url.rsplit("/",1)[1]
    time.sleep(2)
    download_img = requests.get(url,headers=head)
    with open(f"./img/{name}",mode="wb") as f:
        f.write(download_img.content)
        print("正在下載:" +name)
        time.sleep(1)
    f.close()
 
 
 
 
if __name__ == '__main__':
    head = {"user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.71 Safari/537.36"}
    get_page_url()

到此,相信大家對(duì)“怎么用python爬取一組小姐姐圖片”有了更深的了解,不妨來(lái)實(shí)際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI