極速下載站 —— 提供優(yōu)質(zhì)軟件下載服務(wù),感受全新的極速下載體驗(yàn)!

最近更新 | 軟件專(zhuān)題 | 軟件分類(lèi) | 軟件排行

您的位置:極速下載站資訊首頁(yè)系統(tǒng)教程系統(tǒng)資訊 → Python爬蟲(chóng)抓取用并人工智能分析絕世美顏小姐姐,\"硬盤(pán)已滿\"

Python爬蟲(chóng)抓取用并人工智能分析絕世美顏小姐姐,\"硬盤(pán)已滿\"

時(shí)間:2019-07-31 13:59:41  作者:johnnyl  瀏覽量:37

很多朋友都反應(yīng)學(xué) python 語(yǔ)言太枯燥,學(xué)不進(jìn)去,其實(shí)學(xué)語(yǔ)言最好的方法是自己用所學(xué)的語(yǔ)言做項(xiàng)目,在項(xiàng)目中學(xué)習(xí)語(yǔ)言的用法。今天給大家?guī)?lái)的項(xiàng)目是用 python3 爬取煎蛋網(wǎng)妹子的圖片。

這個(gè)項(xiàng)目用了 requests + selenium + beautifulsoup 庫(kù)對(duì)網(wǎng)站的圖片進(jìn)行抓取。接下來(lái)我就,給大家一步步解析一下,怎么用 python 爬蟲(chóng)爬取圖片并下載的。

爬取結(jié)果

圖:Python爬蟲(chóng)抓取用并人工智能分析絕世美顏小姐姐

Python爬蟲(chóng)抓取用并人工智能分析絕世美顏小姐姐,\"硬盤(pán)已滿\"圖一

以上就是爬取的結(jié)果,通過(guò)運(yùn)行 meizi.py 代碼,就可以把圖片保存在我指定的目錄下,如果沒(méi)有此目錄,就用程序自動(dòng)創(chuàng)建目錄,爬取的所有圖片都保存在此目錄下。

程序構(gòu)造

圖:Python爬蟲(chóng)抓取用并人工智能分析絕世美顏小姐姐

Python爬蟲(chóng)抓取用并人工智能分析絕世美顏小姐姐,\"硬盤(pán)已滿\"圖二

程序主要是由 6 個(gè)函數(shù)組成:

get_html() :利用 webdriver 來(lái)請(qǐng)求對(duì)應(yīng)的網(wǎng)站。

get_page():解析面跳轉(zhuǎn)地址。

mkdir():判斷目錄是否存在,不存在就創(chuàng)建一個(gè)。

get_pic():提取圖片鏈接。

download():通過(guò)圖片鏈接下載保存。

main():程序執(zhí)行的主函數(shù)。

程序思路

對(duì)目標(biāo)網(wǎng)站鏈接進(jìn)行分析,找出目標(biāo)網(wǎng)站鏈接的規(guī)律。

從目標(biāo)網(wǎng)站里面提取圖片鏈接。

將圖片下載并保存在目錄中。

源代碼分析

我們通過(guò)f12調(diào)試頁(yè)面,看到圖片的鏈接,發(fā)現(xiàn)此鏈接并沒(méi)有在源代碼中,我們推測(cè),圖片應(yīng)該是通過(guò) js 加載的,對(duì)于需要 js 才能加載出來(lái)的網(wǎng)站,我們就可以利用 selenium 的自動(dòng)化測(cè)試請(qǐng)求庫(kù)來(lái)進(jìn)行加載。利用 selenium 請(qǐng)求可以模擬真實(shí)瀏覽器訪問(wèn)。

1browser = webdriver.Chrome()

2wait = WebDriverWait(browser,3)

利用 selenium 請(qǐng)求網(wǎng)頁(yè)需要下載 chrome 驅(qū)動(dòng)放在 python 安裝目錄下。

分頁(yè)鏈接分析

1def get_page():

2 base_url = \'http://jandan.net/ooxx/\' #第一次進(jìn)入的原始地址

3 soup = BeautifulSoup(get_html(base_url),\'lxml\') #解析原始地址

4 current_pages=soup.select(\'.cp-pagenavi .current-comment-page\')[0].get_text()[1:-1] #取出當(dāng)前頁(yè)面字段

5 urllist = []

6 for page in range(1,int(current_pages)+1):

7 real_url=base_url+\'page-\'+str(page)+\'#comments\' #拼出分頁(yè)地址

8 urllist.append(real_url)

9 return urllist #返回所有分頁(yè)地址列表

原始鏈接base_url = \'http://jandan.net/ooxx/\',當(dāng)我們點(diǎn)擊下一頁(yè)時(shí),發(fā)現(xiàn)在原始鏈接的后面加了一段「page-52#comments」。

其中加的數(shù)字,就是表示現(xiàn)在所在的頁(yè)數(shù),通過(guò) BeautifulSoup 庫(kù)對(duì)頁(yè)面進(jìn)行解析,用選擇器提取表示頁(yè)數(shù)的字段「current-comment-page」,加入到原始鏈接中進(jìn)行拼接。

創(chuàng)建目錄

1def get_pic():

2 for url in get_page():

3 mkdir()

4 html=get_html(url)

5 soup=BeautifulSoup(html,\'lxml\')

6 allimgs=soup.select(\'div .text p img\')

7 allimgs=re.findall(\'src=\"(.*?)\"\',str(allimgs))

8 download(allimgs)

9 print(\"下載完畢!\")

用 os.path.exists 方法來(lái)個(gè)判斷,如果不存在此目錄就創(chuàng)建一個(gè),如果存在就忽略。

提取圖片

1def get_pic():

2 for url in get_page():

3 mkdir()

4 html=get_html(url)

5 soup=BeautifulSoup(html,\'lxml\')

6 allimgs=soup.select(\'div .text p img\')

7 allimgs=re.findall(\'src=\"(.*?)\"\',str(allimgs))

12下一頁(yè)>

相關(guān)資訊

相關(guān)軟件

系統(tǒng)資訊排行
最新系統(tǒng)資訊
系統(tǒng)教程分類(lèi)

更多常用電腦軟件