python爬取優(yōu)美圖庫(kù)海量圖片,附加代碼,一鍵爬取


優(yōu)美高清圖片為大家提供高清美女套圖賞析,非高清不錄入,大家的網(wǎng)速要給力。
今天教大家爬取優(yōu)美圖庫(kù)網(wǎng)站中高質(zhì)量的圖片??!
簡(jiǎn)單易上手哦~

使用工具:
Python 3.6
pycharm

相關(guān)環(huán)境:
requests
parsel
xpath

主要內(nèi)容:
1、系統(tǒng)分析目標(biāo)網(wǎng)頁(yè)
2、html標(biāo)簽數(shù)據(jù)解析方法(xpath)
3、海量圖片數(shù)據(jù)一鍵保存

爬蟲(chóng)的一般思路:
1、確定爬取的url路徑,headers參數(shù)
2、發(fā)送請(qǐng)求 -- requests 模擬瀏覽器發(fā)送請(qǐng)求,獲取響應(yīng)數(shù)據(jù)
3、析數(shù)據(jù) -- parsel 轉(zhuǎn)化為Selector對(duì)象,Selector對(duì)象具有xpath的方法,能夠?qū)D(zhuǎn)化的數(shù)據(jù)進(jìn)行處理
4、保存數(shù)據(jù)

代碼如下:
import requests
import parsel
# 1、確定爬取的url路徑,headers參數(shù)
base_url = 'https://www.umei.cc/meinvtupian/meinvxiezhen/'
headers = {'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.122 Safari/537.36'}
# 2、發(fā)送請(qǐng)求 -- requests 模擬瀏覽器發(fā)送請(qǐng)求,獲取響應(yīng)數(shù)據(jù)
response = requests.get(base_url, headers=headers)
response.encoding = response.apparent_encoding ?# 自動(dòng)識(shí)別響應(yīng)對(duì)象的編碼
html = response.text
# print(html)
# 3、解析數(shù)據(jù) -- parsel ?轉(zhuǎn)化為Selector對(duì)象,Selector對(duì)象具有xpath的方法,能夠?qū)D(zhuǎn)化的數(shù)據(jù)進(jìn)行處理
# 3、1 轉(zhuǎn)換數(shù)據(jù)類(lèi)型
parse = parsel.Selector(html)
# 3、2 解析數(shù)據(jù)
href_list = parse.xpath('//div[@class="TypeList"]/ul/li/a/@href').extract()
# print(href_list)
for href in href_list:
? ?# print(href)
? ?# 再次發(fā)送圖片請(qǐng)求
? ?href_data = requests.get(href, headers=headers).text
? ?# 解析圖片數(shù)據(jù)
? ?img = parsel.Selector(href_data)
? ?img_src = img.xpath('//div[@class="ImageBody"]/p/a/img/@src').extract_first()
? ?# print(img_src)
? ?# 發(fā)送圖片的url
? ?img_data = requests.get(img_src, headers=headers).content
? ?# 4、保存數(shù)據(jù)
? ?# 1、準(zhǔn)備文件名
? ?file_name = img_src.split('/')[-1]
? ?# print(file_name)
? ?# 3、保存文件
? ?with open('img\\' + file_name, 'wb') as f:
? ? ? ?print('正在保存文件:{}'.format(file_name))
? ? ? ?f.write(img_data)

效果如下:


在這UP主給大家分享資料,記得點(diǎn)贊收藏加關(guān)注喲~
鏈接:https://pan.baidu.com/s/1H3JYkAcr9zr2Uo5RUJQ4aQ?
提取碼:2lcs
