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

最近更新 | 軟件專題 | 軟件分類 | 軟件排行

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

Python爬蟲抓取用并人工智能分析絕世美顏小姐姐,\"硬盤已滿\"

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

很多朋友都反應學 python 語言太枯燥,學不進去,其實學語言最好的方法是自己用所學的語言做項目,在項目中學習語言的用法。今天給大家?guī)淼捻椖渴怯?python3 爬取煎蛋網妹子的圖片。

這個項目用了 requests + selenium + beautifulsoup 庫對網站的圖片進行抓取。接下來我就,給大家一步步解析一下,怎么用 python 爬蟲爬取圖片并下載的。

爬取結果

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

Python爬蟲抓取用并人工智能分析絕世美顏小姐姐,\"硬盤已滿\"圖一

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

程序構造

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

Python爬蟲抓取用并人工智能分析絕世美顏小姐姐,\"硬盤已滿\"圖二

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

get_html() :利用 webdriver 來請求對應的網站。

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

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

get_pic():提取圖片鏈接。

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

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

程序思路

目標網站鏈接進行分析,找出目標網站鏈接的規(guī)律。

從目標網站里面提取圖片鏈接。

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

源代碼分析

我們通過f12調試頁面,看到圖片的鏈接,發(fā)現(xiàn)此鏈接并沒有在源代碼中,我們推測,圖片應該是通過 js 加載的,對于需要 js 才能加載出來的網站,我們就可以利用 selenium 的自動化測試請求庫來進行加載。利用 selenium 請求可以模擬真實瀏覽器訪問。

1browser = webdriver.Chrome()

2wait = WebDriverWait(browser,3)

利用 selenium 請求網頁需要下載 chrome 驅動放在 python 安裝目錄下。

分頁鏈接分析

1def get_page():

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

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

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

5 urllist = []

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

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

8 urllist.append(real_url)

9 return urllist #返回所有分頁地址列表

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

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

創(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 方法來個判斷,如果不存在此目錄就創(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))

12下一頁>

相關資訊

相關軟件