詳解用selenium來(lái)下載小姐姐圖片并保存
下載小姐姐圖片并保存
- 請(qǐng)求的地址
- 偽裝
- 定位元素
- 下載圖片
- 保存好了
下面開始我們的實(shí)戰(zhàn),這個(gè)是我們今天訪問的url:
url = 'http://pic.netbian.com/4kmeinv/'
1,先把包給導(dǎo)進(jìn)來(lái):
import requests from selenium.webdriver import Chrome,ChromeOptions import os
不知道怎么導(dǎo)包的看我的第一篇,附上鏈接:
http://m.fzitv.net/article/204774.htm
2, 接下來(lái)就開始發(fā)送請(qǐng)求
#請(qǐng)求的url
url = 'http://pic.netbian.com/4kmeinv/'
#進(jìn)行偽裝
headers = {
"User_Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.141 Safari/537.36"
}
#發(fā)起請(qǐng)求
response = requests.get(url=url,headers=headers)
#手動(dòng)設(shè)定響應(yīng)數(shù)據(jù)的編碼格式
response.encoding = 'utf-8'
page_text = response.text
#這個(gè)就是再后臺(tái)上面運(yùn)行那個(gè)瀏覽器,不在表面上占用你的
option = ChromeOptions()
option.add_argument('--headless')
option.add_argument("--no-sandbox")
option.add_experimental_option('excludeSwitches',['enable-automation'])
#這里也要輸入
browser = Chrome(options=option)
browser.get(url)
相信看過(guò)我上篇的都知道這些,那就廢話不多說(shuō),定位元素:
3,定位:
先看下代碼再說(shuō):
li = browser.find_elements_by_xpath('//*[@id="main"]/div[3]/ul/li')
老樣子,分為三步,第一步選中所選的圖片–>copy xpath–>ctrl+f -->粘貼進(jìn)去可以看到是1of1,但明顯我們要的是這個(gè)頁(yè)面上所有的圖片,所以呀,只需要改一下就可以啦,將tr[1],里面的包括括號(hào)刪掉就可以。

這樣的話就是整個(gè)頁(yè)面內(nèi)所有的圖片啦,

4,創(chuàng)建文件以保存我們所要的圖片:
#創(chuàng)建一個(gè)文件夾
if not os.path.exists('./小美女圖'):
os.mkdir('./小美女圖')
然后再循環(huán)一下就好啦:
for i in li:
img_src = i.find_element_by_xpath('./a/img').get_attribute('src')
img_name = i.find_element_by_xpath('./a/img').get_attribute('alt')+'.jpg'
至于為什么要這么寫,可以看一下我的上一篇博客:
http://m.fzitv.net/article/204771.htm
5,保存
img_data = requests.get(url=img_src,headers=headers).content img_path = '小美女圖/'+img_name with open(img_path,'wb') as fp: fp.write(img_data) print(img_name,'下載成功!??!')
最后的結(jié)果哈哈哈哈:這個(gè)也不存在什么圖片尺寸過(guò)大啥的,如果錯(cuò)了,多半是你元素沒有定位好。

到此這篇關(guān)于詳解用selenium來(lái)下載小姐姐圖片并保存的文章就介紹到這了,更多相關(guān)selenium 下載圖片內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python實(shí)現(xiàn)動(dòng)態(tài)二維碼生成的示例代碼
這篇文章主要和大家分享兩個(gè)制作二維碼的Python庫(kù),可以生成普通的二維碼、圖片背景版二維碼、動(dòng)圖GIF版二維。文中的示例代碼講解詳細(xì),感興趣的可以學(xué)習(xí)一下2022-05-05
Python雙端隊(duì)列deque的實(shí)現(xiàn)
雙端隊(duì)列deque支持從任意一端增加和刪除元素。本文詳細(xì)的介紹了Python雙端隊(duì)列deque的實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-06-06
python對(duì)列進(jìn)行平移變換的方法(shift)
今天小編就為大家分享一篇python對(duì)列進(jìn)行平移變換的方法(shift),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-01-01
Python隨機(jī)數(shù)用法實(shí)例詳解【基于random模塊】
這篇文章主要介紹了Python隨機(jī)數(shù)用法,結(jié)合實(shí)例形式分析了基于random模塊的各種隨機(jī)數(shù)操作常用技巧,需要的朋友可以參考下2017-04-04

