亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

python爬圖片(紳士進來)

系統(tǒng) 1875 0

如果,不是因為圖片,又怎會和各位紳士見面?

環(huán)境:

系統(tǒng):win10

ide:pycharm

模塊:requests, etree

首先我們選一個有很多妹子圖片的網(wǎng)站,我提供一個:https://www.mzitu.com/jiepai/

下面我們開始:

1.分析網(wǎng)頁結(jié)構(gòu):

? ? ? ?打開網(wǎng)頁,按F12打開調(diào)試,然后選中一個圖片,看它的結(jié)構(gòu):

有一個data-original屬性。屬性值就是圖片的鏈接,并且這個標(biāo)簽的class是“l(fā)azy”,我們可以用etree找到這個節(jié)點,拿到圖片的地址,然后下載保存到本地。

初始參數(shù):

header是發(fā)起請求時,告訴服務(wù)器瀏覽器的信息

            
              header = {
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36",
    "Referer": "https://www.mzitu.com/jiepai/comment-page-1/",
}

name = 0

japan_url_first = "https://www.mzitu.com/japan/" #第一頁
japan_url_other = "https://www.mzitu.com/japan/page/{}/" #非第一頁
            
          

第一頁的網(wǎng)址是https://www.mzitu.com/japan/,我們先爬取這個頁面的圖片,分為兩個步驟:

①:將網(wǎng)頁上的所有class=“l(fā)azy”的標(biāo)簽的data-original屬性找出來,也就是把頁面上所有的圖片地址以一個數(shù)組返回

            
              #獲取圖片鏈接
def get_url(html_url): # 獲取圖片鏈接,并返回
    html = requests.get(html_url,headers = header).text   #獲取網(wǎng)頁代碼
    etree_html = etree.HTML(html)
    img_url = etree_html.xpath('//img[@class="lazy"]/@data-original')
    return img_url
            
          

②:遍歷圖片地址數(shù)組,下載圖片

            
               img_list = get_url(url)
        for img in img_list:
            print("正在此地址{}的圖片".format(img))
            get_img(img)
            
          
            
              #下載圖片
def get_img(url):    #下載圖片保存到指定文件夾
    global name
    name += 1
    img_name = "D:\\pythonFetch\\imgs\\{}.jpg".format(name)
    img = requests.get(url, headers = header).content
    with open(img_name, 'wb') as save_img: # python自動幫我們調(diào)用save_img.close
        save_img.write(img)
            
          

img_name:為圖片保存的地址

但是這只是一個頁面的圖片,能不能一次爬取簽10頁,前100頁的圖片呢? 可以:

我們發(fā)現(xiàn)第一頁的網(wǎng)址:https://www.mzitu.com/japan/

第二頁的網(wǎng)址:https://www.mzitu.com/japan/page/2/

第三頁:https://www.mzitu.com/japan/page/3/

第n頁:https://www.mzitu.com/japan/page/n/

可以看出來除了第一頁,其余都是有規(guī)律的,那么好說:

            
              #主函數(shù)
def main():  # 使用for循環(huán)爬取所有網(wǎng)頁
    for n in range(1,24):
        if n == 1:
            page_url = japan_url_first
        else:
            page_url = japan_url_other.format(n)
        print("正在爬取第{}頁".format(n))
        html = get_html(page_url)
        img_list = get_url(html)
        for img in img_list:
            print("正在此地址{}的圖片".format(img))
            get_img(img)
main()
            
          

完整代碼:

            
              '''
    設(shè)置瀏覽器頭部
    User-Agent表示瀏覽器的參數(shù)信息
    Referer用于設(shè)置使用哪個網(wǎng)頁跳轉(zhuǎn)過來
    url設(shè)置網(wǎng)址模板,可以通過.format參數(shù)補充網(wǎng)址
'''
from lxml import etree
import requests

header = {
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36",
    "Referer": "https://www.mzitu.com/jiepai/comment-page-1/",
}
name = 0

japan_url_first = "https://www.mzitu.com/japan/" #第一頁
japan_url_other = "https://www.mzitu.com/japan/page/{}/" #非第一頁


#下載網(wǎng)頁
def get_html(url): #獲取網(wǎng)頁代碼,并以值的形式彈出
    html = requests.get(url,headers = header).text
    return html

#下載圖片
def get_img(url):    #下載圖片保存到指定文件夾
    global name
    name += 1
    img_name = "D:\\pythonFetch\\imgs\\{}.jpg".format(name)
    img = requests.get(url, headers = header).content
    with open(img_name, 'wb') as save_img: # python自動幫我們調(diào)用save_img.close
        save_img.write(img)

#獲取圖片鏈接
def get_url(html): # 獲取圖片鏈接,并返回
    etree_html = etree.HTML(html)
    img_url = etree_html.xpath('//img[@class="lazy"]/@data-original')
    return img_url

#主函數(shù)
def main():  # 使用for循環(huán)爬取所有網(wǎng)頁
    for n in range(1,24):
        if n == 1:
            page_url = japan_url_first
        else:
            page_url = japan_url_other.format(n)
        print("正在爬取第{}頁".format(n))
        html = get_html(page_url)
        img_list = get_url(html)
        for img in img_list:
            print("正在此地址{}的圖片".format(img))
            get_img(img)
main()



            
          

然后運行一把,美女圖片盡收眼底哈。。


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: bt 另类 专区 欧美 制服 | 在线小视频国产 | 最新仑乱免费视频 | 青草视频在线观看视频 | 99国产精品九九视频免费看 | 久久天天躁狠狠躁夜夜2020一 | 中国美女一级a毛片录像在线 | 国产精品久久久久久吹潮 | 国产91成人| 日日操日日射 | 在线看片亚洲 | 在线国产一区 | 四虎影院在线免费观看视频 | 天天色天天操天天射 | 国产精品二区三区 | 91sao国产在线观看 | 26uuu色噜噜欧美在线播放 | 久久中文字幕综合不卡一二区 | 最新亚洲国产有精品 | 激情亚州 | 久久福利影院 | 久久手机精品视频 | 国产网址 | 91久久国产成人免费观看资源 | 色综合久久九月婷婷色综合 | 亚洲日韩中文字幕在线播放 | 国产1区2区3区在线观看 | 久久91精品综合国产首页 | 国产精品资源网站在线观看 | 亚洲精品亚洲人成人网 | 亚洲区 欧美区 | 国产精品香蕉成人网在线观看 | 中文字幕一区二区视频 | 国产2021久久精品 | 欧美成人久久一级c片免费 欧美成人剧情中文字幕 | 女人一级一级毛片 | 黄色小视频在线免费观看 | 日日爽日日操 | 天天操天天射天天操 | 亚洲乱码在线播放 | 欧美视频在线看 |