校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > 只用50行Python代碼爬取網絡美女高清圖片

只用50行Python代碼爬取網絡美女高清圖片

熱門標簽:所得系統電梯怎樣主板設置外呼 市場上的電銷機器人 北京電銷外呼系統加盟 地圖標注面積 北瀚ai電銷機器人官網手機版 小蘇云呼電話機器人 佛山400電話辦理 朝陽手機外呼系統 儋州電話機器人

一、技術路線

requests:網頁請求
BeautifulSoup:解析html網頁
re:正則表達式,提取html網頁信息
os:保存文件

import re
import requests
import os
from bs4 import BeautifulSoup

二、獲取網頁信息

常規操作,獲取網頁信息的固定格式,返回的字符串格式的網頁內容,其中headers參數可模擬人為的操作,‘欺騙'網站不被發現

def getHtml(url):  #固定格式,獲取html內容
    headers = {
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36'
    }  #模擬用戶操作
    try:
        r = requests.get(url, headers=headers)
        r.raise_for_status()
        r.encoding = r.apparent_encoding
        return r.text
    except:
        print('網絡狀態錯誤')

三、網頁爬取分析

右鍵單擊圖片區域,選擇 ‘審查元素' ,可以查看當前網頁圖片詳情鏈接,我就滿心歡喜的復制鏈接打開保存,看看效果,結果一張圖片只有60幾kb,這就是縮略圖啊,不清晰,果斷舍棄。。。


沒有辦法,只有點擊找到詳情頁鏈接,再進行單獨爬取。

空白右鍵,‘查看頁面源代碼',把剛剛復制的縮略圖鏈接復制查找快速定位,分析所有圖片詳情頁鏈接存在div標簽,并且class=‘list' 唯一,因此可以使用BeautifulSoup提取此標簽。并且發現圖片詳情頁鏈接在herf=后面(同時我們注意到有部分無效鏈接也在div標簽中,觀察它們異同,發現無效鏈接存在'https'字樣,因此可在代碼中依據此排出無效鏈接,對應第4條中的函數代碼),只需提取出來再在前面加上網頁首頁鏈接即可打開,并且右鍵圖片,‘審查元素',復制鏈接下載的圖片接近1M,表示是高清圖片了,到這一步我們只需調用下載保存函數即可保存圖片

四、網頁詳情頁鏈接獲取

根據第3條分析的情況,首要目標是將每頁的每個圖片的詳情頁鏈接給爬取下來,為后續的高清圖片爬取做準備,這里直接定義函數def getUrlList(url):

def getUrlList(url):  # 獲取圖片鏈接
    url_list = []  #存儲每張圖片的url,用于后續內容爬取
    demo = getHtml(url)
    soup = BeautifulSoup(demo,'html.parser')
    sp = soup.find_all('div', class_="list") #class='list'在全文唯一,因此作為錨,獲取唯一的div標簽;注意,這里的網頁源代碼是class,但是python為了和class(類)做區分,在最后面添加了_
    nls = re.findall(r'a href="(.*?)" rel="external nofollow"  rel="external nofollow" ', str(sp)) #用正則表達式提取鏈接
    for i in nls:
        if 'https' in i: #因所有無效鏈接中均含有'https'字符串,因此直接剔除無效鏈接(對應第3條的分析)
            continue
        url_list.append('http://www.netbian.com' + i) #在獲取的鏈接中添加前綴,形成完整的有效鏈接
    return url_list

五、依據圖片鏈接保存圖片

同理,在第4條中獲取了每個圖片的詳情頁鏈接后,打開,右鍵圖片'審查元素',復制鏈接即可快速定位,然后保存圖片

def fillPic(url,page):
    pic_url = getUrlList(url) #調用函數,獲取當前頁的所有圖片詳情頁鏈接
    path = './美女'  # 保存路徑
    for p in range(len(pic_url)):
        pic = getHtml(pic_url[p])
        soup = BeautifulSoup(pic, 'html.parser')
        psoup = soup.find('div', class_="pic") #class_="pic"作為錨,獲取唯一div標簽;注意,這里的網頁源代碼是class,但是python為了和class(類)做區分,在最后面添加了_
        picUrl = re.findall(r'src="(.*?)"', str(psoup))[0] #利用正則表達式獲取詳情圖片鏈接,因為這里返回的是列表形式,所以取第一個元素(只有一個元素,就不用遍歷的方式了)
        pic = requests.get(picUrl).content #打開圖片鏈接,并以二進制形式返回(圖片,聲音,視頻等要以二進制形式打開)
        image_name ='美女' + '第{}頁'.format(page) + str(p+1) + '.jpg' #給圖片預定名字
        image_path = path + '/' + image_name #定義圖片保存的地址
        with open(image_path, 'wb') as f: #保存圖片
            f.write(pic)
            print(image_name, '下載完畢!!!')

六、main()函數

經過前面的主體框架搭建完畢之后,對整個程序做一個前置化,直接上代碼

在這里第1頁的鏈接是http://www.netbian.com/meinv/

第2頁的鏈接是http://www.netbian.com/meinv/index_2.htm

并且后續頁面是在第2頁的基礎上僅改變最后的數字,因此在寫代碼的時候要注意區分第1頁和后續頁面的鏈接,分別做處理;同時在main()函數還增加了自定義爬取頁數的功能,詳見代碼

def main():
    n = input('請輸入要爬取的頁數:')
    url = 'http://www.netbian.com/meinv/'  # 資源的首頁,可根據自己的需求查看不同分類,自定義改變目錄,爬取相應資源
    if not os.path.exists('./美女'):  # 如果不存在,創建文件目錄
        os.mkdir('./美女/')
    page = 1
    fillPic(url, page)  # 爬取第一頁,因為第1頁和后續頁的鏈接的區別,單獨處理第一頁的爬取
    if int(n) >= 2: #爬取第2頁之后的資源
        ls = list(range(2, 1 + int(n)))
        url = 'http://www.netbian.com/meinv/'
        for i in ls: #用遍歷的方法對輸入的需求爬取的頁面做分別爬取處理
            page = str(i)
            url_page = 'http://www.netbian.com/meinv/'
            url_page += 'index_' + page + '.htm' #獲取第2頁后的每頁的詳情鏈接
            fillPic(url, page) #調用fillPic()函數

七、完整代碼

最后再調用main(),輸入需要爬取的頁數,即可開始爬取,完整代碼如下

import re
import requests
import os
from bs4 import BeautifulSoup

def getHtml(url):  #固定格式,獲取html內容
    headers = {
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36'
    }  #模擬用戶操作
    try:
        r = requests.get(url, headers=headers)
        r.raise_for_status()
        r.encoding = r.apparent_encoding
        return r.text
    except:
        print('網絡狀態錯誤')

def getUrlList(url):  # 獲取圖片鏈接
    url_list = []  #存儲每張圖片的url,用于后續內容爬取
    demo = getHtml(url)
    soup = BeautifulSoup(demo,'html.parser')
    sp = soup.find_all('div', class_="list") #class='list'在全文唯一,因此作為錨,獲取唯一的div標簽;注意,這里的網頁源代碼是class,但是python為了和class(類)做區分,在最后面添加了_
    nls = re.findall(r'a href="(.*?)" rel="external nofollow"  rel="external nofollow" ', str(sp)) #用正則表達式提取鏈接
    for i in nls:
        if 'https' in i: #因所有無效鏈接中均含有'https'字符串,因此直接剔除無效鏈接(對應第3條的分析)
            continue
        url_list.append('http://www.netbian.com' + i) #在獲取的鏈接中添加前綴,形成完整的有效鏈接
    return url_list

def fillPic(url,page):
    pic_url = getUrlList(url) #調用函數,獲取當前頁的所有圖片詳情頁鏈接
    path = './美女'  # 保存路徑
    for p in range(len(pic_url)):
        pic = getHtml(pic_url[p])
        soup = BeautifulSoup(pic, 'html.parser')
        psoup = soup.find('div', class_="pic") #class_="pic"作為錨,獲取唯一div標簽;注意,這里的網頁源代碼是class,但是python為了和class(類)做區分,在最后面添加了_
        picUrl = re.findall(r'src="(.*?)"', str(psoup))[0] #利用正則表達式獲取詳情圖片鏈接,因為這里返回的是列表形式,所以取第一個元素(只有一個元素,就不用遍歷的方式了)
        pic = requests.get(picUrl).content #打開圖片鏈接,并以二進制形式返回(圖片,聲音,視頻等要以二進制形式打開)
        image_name ='美女' + '第{}頁'.format(page) + str(p+1) + '.jpg' #給圖片預定名字
        image_path = path + '/' + image_name #定義圖片保存的地址
        with open(image_path, 'wb') as f: #保存圖片
            f.write(pic)
            print(image_name, '下載完畢!!!')

def main():
    n = input('請輸入要爬取的頁數:')
    url = 'http://www.netbian.com/meinv/'  # 資源的首頁,可根據自己的需求查看不同分類,自定義改變目錄,爬取相應資源
    if not os.path.exists('./美女'):  # 如果不存在,創建文件目錄
        os.mkdir('./美女/')
    page = 1
    fillPic(url, page)  # 爬取第一頁,因為第1頁和后續頁的鏈接的區別,單獨處理第一頁的爬取
    if int(n) >= 2: #爬取第2頁之后的資源
        ls = list(range(2, 1 + int(n)))
        url = 'http://www.netbian.com/meinv/'
        for i in ls: #用遍歷的方法對輸入的需求爬取的頁面做分別爬取處理
            page = str(i)
            url_page = 'http://www.netbian.com/meinv/'
            url_page += 'index_' + page + '.htm' #獲取第2頁后的每頁的詳情鏈接
            fillPic(url_page, page) #調用fillPic()函數

main()

到此這篇關于只用50行Python代碼爬取網絡美女高清圖片的文章就介紹到這了,更多相關Python爬取圖片內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • python opencv通過按鍵采集圖片源碼
  • 使用Python的Scrapy框架十分鐘爬取美女圖
  • Python使用爬蟲抓取美女圖片并保存到本地的方法【測試可用】
  • Python制作爬蟲抓取美女圖
  • python制作花瓣網美女圖片爬蟲
  • Python爬蟲入門案例之回車桌面壁紙網美女圖片采集

標簽:江蘇 酒泉 金融催收 龍巖 定西 云南 寧夏 商丘

巨人網絡通訊聲明:本文標題《只用50行Python代碼爬取網絡美女高清圖片》,本文關鍵詞  只用,50行,Python,代碼,爬取,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《只用50行Python代碼爬取網絡美女高清圖片》相關的同類信息!
  • 本頁收集關于只用50行Python代碼爬取網絡美女高清圖片的相關信息資訊供網民參考!
  • 推薦文章
    校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃
    久久久午夜电影| 视频在线在亚洲| 精品一区二区三区久久| 欧美乱妇15p| 亚洲精品ww久久久久久p站| 成人av高清在线| 欧美剧在线免费观看网站| 一区二区三区日韩精品视频| av不卡在线播放| 国产精品久久国产精麻豆99网站| 国产在线乱码一区二区三区| 欧美在线观看一区二区| 伊人开心综合网| 欧美性淫爽ww久久久久无| 亚洲免费观看高清| 91久久人澡人人添人人爽欧美| 欧美日韩www| 无码av免费一区二区三区试看 | 欧美视频一区二区三区四区 | 韩国一区二区三区| 972aa.com艺术欧美| 亚洲日本成人在线观看| 国产精品538一区二区在线| 国产日韩精品一区二区浪潮av| 国产高清在线精品| 久久久久久久久岛国免费| 国产美女在线观看一区| 欧美精品v国产精品v日韩精品 | 美国三级日本三级久久99 | 精品电影一区二区三区| 亚洲精品va在线观看| 不卡的av在线播放| 26uuuu精品一区二区| 老司机午夜精品99久久| 日韩欧美一级二级三级久久久| 国产一区二区剧情av在线| 久久综合国产精品| 国产白丝精品91爽爽久久| 中文成人av在线| 激情六月婷婷久久| 亚洲在线中文字幕| 精品国产一区二区三区久久影院| 国产精品中文字幕欧美| 亚洲日本欧美天堂| 欧美亚洲综合在线| 粉嫩av一区二区三区粉嫩 | 欧美精品vⅰdeose4hd| 美洲天堂一区二卡三卡四卡视频| 日本一区二区视频在线观看| 欧美亚洲高清一区二区三区不卡| 久久99久久99小草精品免视看| 亚洲精品免费视频| 久久欧美中文字幕| 欧美写真视频网站| 国产成人自拍高清视频在线免费播放| 亚洲欧洲国产日韩| 久久亚洲综合色| 欧美日韩大陆一区二区| 粉嫩高潮美女一区二区三区| 视频精品一区二区| 中文字幕精品一区二区精品绿巨人 | 亚洲视频综合在线| 久久综合av免费| 欧美视频第二页| www.综合网.com| 久久精品国产免费| 日韩中文字幕1| 一区二区三区在线视频免费观看| 日韩久久免费av| 欧美日韩一区二区三区视频| 成人国产一区二区三区精品| 狠狠色2019综合网| 亚洲国产精品一区二区尤物区| 欧美韩国日本一区| 国产成人综合在线观看| 国产米奇在线777精品观看| 亚洲色图清纯唯美| 欧美日韩一级片在线观看| 国产黑丝在线一区二区三区| 日韩黄色片在线观看| 亚洲精品欧美激情| 亚洲va韩国va欧美va精品| 亚洲国产精品精华液ab| 久久久99久久| 欧美一区二区三区男人的天堂| 欧美三级在线视频| 国产乱码字幕精品高清av| 奇米888四色在线精品| 亚洲成人综合视频| 亚洲精品视频一区| 亚洲天堂精品视频| 亚洲激情综合网| 亚洲精品视频在线观看免费| 亚洲国产高清aⅴ视频| 久久久亚洲午夜电影| 久久蜜桃av一区精品变态类天堂 | 一区二区三区欧美激情| 亚洲欧美另类久久久精品2019 | 午夜伦理一区二区| 麻豆成人av在线| 国产福利一区二区三区视频 | 国产伦精一区二区三区| 国产成人精品三级| 91小视频在线观看| 欧美日韩精品一区二区三区蜜桃| 日韩三级高清在线| 久久久久久久综合狠狠综合| 亚洲精选视频免费看| 视频一区视频二区中文字幕| 国产综合色视频| 色综合咪咪久久| 日韩亚洲欧美综合| 国产精品视频一二| 亚洲午夜久久久久| 国产乱码精品一区二区三 | 欧美三级一区二区| 久久精品一区八戒影视| 亚洲精品菠萝久久久久久久| 久久99国产精品久久99| 99久久精品情趣| 日韩一区二区免费在线电影| 国产精品私房写真福利视频| 日本一不卡视频| 91原创在线视频| 日韩精品一区二区三区在线播放 | 久久在线观看免费| 亚洲精品中文字幕在线观看| 国产一区在线看| 4438x亚洲最大成人网| 久久精品欧美一区二区三区不卡| 五月婷婷激情综合网| 成a人片亚洲日本久久| 欧美一级高清大全免费观看| 成人免费小视频| 久久99精品国产.久久久久久| 在线亚洲欧美专区二区| 国产日韩欧美综合一区| 日本伊人午夜精品| 欧美在线观看一二区| 国产日韩精品一区二区三区| 奇米影视一区二区三区小说| 色噜噜久久综合| 中文字幕 久热精品 视频在线| 久久99精品国产麻豆婷婷洗澡| 欧美色倩网站大全免费| 国产精品久久久久久久久免费桃花| 毛片av一区二区三区| 欧美日韩精品免费观看视频 | 一区二区欧美在线观看| 国产成人综合亚洲91猫咪| 欧美一级欧美三级在线观看| 亚洲一区二区三区爽爽爽爽爽| 99精品国产91久久久久久| 国产午夜精品久久久久久免费视| 看电影不卡的网站| 51久久夜色精品国产麻豆| 亚洲mv在线观看| 欧美日韩综合不卡| 亚洲自拍偷拍欧美| 91久久线看在观草草青青| 国产精品美女久久久久久| 国产成人一级电影| 久久免费的精品国产v∧| 国产综合色产在线精品| 日韩欧美成人激情| 麻豆91在线观看| 精品理论电影在线观看 | 中文字幕 久热精品 视频在线| 国产综合成人久久大片91| 精品国产99国产精品| 男女男精品视频| 日韩欧美国产麻豆| 裸体一区二区三区| 日韩精品一区二区三区swag| 蜜桃视频一区二区三区在线观看| 51精品国自产在线| 青青青爽久久午夜综合久久午夜| 日韩一级免费观看| 国产在线视频不卡二| 久久蜜桃av一区二区天堂| 福利一区福利二区| 中文字幕亚洲在| 在线亚洲欧美专区二区| 午夜精品国产更新| 日韩欧美国产一区二区三区| 国精品**一区二区三区在线蜜桃 | 亚洲精品乱码久久久久久| 欧美在线观看禁18| 日本aⅴ免费视频一区二区三区| 欧美成人高清电影在线| 国产99久久久精品| 一区二区三区四区视频精品免费| 在线观看国产日韩| 蜜桃av一区二区三区| 久久久精品tv| 在线一区二区视频| 久久99精品国产91久久来源| 国产精品妹子av| 欧美精品一卡两卡| 激情欧美一区二区|