0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Python抓取網(wǎng)絡(luò)高清美圖

馬哥Linux運(yùn)維 ? 來源:工程師曾玲 ? 2019-02-02 17:21 ? 次閱讀

一:前言

嘀嘀嘀,上車請刷卡。昨天看到了不錯的圖片分享網(wǎng)——花瓣,里面的圖片質(zhì)量還不錯,所以利用selenium+xpath我把它的妹子的欄目下爬取了下來,以圖片欄目名稱給文件夾命名分類保存到電腦中。這個妹子主頁http://huaban.com/boards/favorite/beauty是動態(tài)加載的,如果想獲取更多內(nèi)容可以模擬下拉,這樣就可以更多的圖片資源。這種之前爬蟲中也做過,但是因為網(wǎng)速不夠快所以我就抓了19個欄目,一共500多張美圖,也已經(jīng)很滿意了。

先看看效果:

Paste_Image.png

 Python抓取網(wǎng)絡(luò)高清美圖

Paste_Image.png

二:運(yùn)行環(huán)境

IDE:Pycharm

Python3.6

lxml 3.7.2

Selenium 3.4.0

requests 2.12.4

三:實例分析

1.這次爬蟲我開始做的思路是:進(jìn)入這個網(wǎng)頁http://huaban.com/boards/favorite/beauty然后來獲取所有的圖片欄目對應(yīng)網(wǎng)址,然后進(jìn)入每一個網(wǎng)頁中去獲取全部圖片。(如下圖所示)

Paste_Image.png

Paste_Image.png

2.但是爬取獲取的圖片分辨率是236x354,圖片質(zhì)量不夠高,但是那個時候已經(jīng)是晚上1點30之后了,所以第二天做了另一個版本:在這個基礎(chǔ)上再進(jìn)入每個縮略圖對應(yīng)的網(wǎng)頁,再抓取像下面這樣高清的圖片。

 Python抓取網(wǎng)絡(luò)高清美圖

Paste_Image.png

四:實戰(zhàn)代碼

1.第一步導(dǎo)入本次爬蟲需要的模塊

 Python抓取網(wǎng)絡(luò)高清美圖

2.下面是設(shè)置webdriver的種類,就是使用什么瀏覽器進(jìn)行模擬,可以使用火狐來看它模擬的過程,也可以是無頭瀏覽器PhantomJS來快速獲取資源,['--load-images=false', '--disk-cache=true']這個意思是模擬瀏覽的時候不加載圖片和緩存,這樣運(yùn)行速度會加快一些。WebDriverWait標(biāo)明最大等待瀏覽器加載為10秒,set_window_size可以設(shè)置一下模擬瀏覽網(wǎng)頁的大小。有些網(wǎng)站如果大小不到位,那么一些資源就不加載出來。

 Python抓取網(wǎng)絡(luò)高清美圖

3.parser(url, param)這個函數(shù)用來解析網(wǎng)頁,后面有幾次都用用到這些代碼,所以直接寫一個函數(shù)會讓代碼看起來更整潔有序。函數(shù)有兩個參數(shù):一個是網(wǎng)址,另一個是顯性等待代表的部分,這個可以是網(wǎng)頁中的某些板塊,按鈕,圖片等等...

 Python抓取網(wǎng)絡(luò)高清美圖

4.下面的代碼就是解析本次主頁面http://huaban.com/boards/favorite/beauty/然后獲取到每個欄目的網(wǎng)址和欄目的名稱,使用xpath來獲取欄目的網(wǎng)頁時,進(jìn)入網(wǎng)頁開發(fā)者模式后,如圖所示進(jìn)行操作。之后需要用欄目名稱在電腦中建立文件夾,所以在這個網(wǎng)頁中要獲取到欄目的名稱,這里遇到一個問題,一些名稱不符合文件命名規(guī)則要剔除,我這里就是一個 * 影響了。

 Python抓取網(wǎng)絡(luò)高清美圖

 Python抓取網(wǎng)絡(luò)高清美圖

Paste_Image.png

5.前面已經(jīng)獲取到欄目的網(wǎng)頁和欄目的名稱,這里就需要對欄目的網(wǎng)頁分析,進(jìn)入欄目網(wǎng)頁后,只是一些縮略圖,我們不想要這些低分辨率的圖片,所以要再進(jìn)入每個縮略圖中,解析網(wǎng)頁獲取到真正的高清圖片網(wǎng)址。這里也有一個地方比較坑人,就是一個欄目中,不同的圖片存放dom格式不一樣,所以我這樣做

 Python抓取網(wǎng)絡(luò)高清美圖

這就把兩種dom格式中的圖片地址都獲取了,然后把兩個地址list合并一下。img_url +=img_url2在本地創(chuàng)建文件夾使用filename = 'image{}'.format(fileName) + str(i) + '.jpg'表示文件保存在與這個爬蟲代碼同級目錄image下,然后獲取的圖片保存在image中按照之前獲取的欄目名稱的文件夾中。

 Python抓取網(wǎng)絡(luò)高清美圖

五:總結(jié)

這次爬蟲繼續(xù)練習(xí)了Selenium和xpath的使用,在網(wǎng)頁分析的時候也遇到很多問題,只有不斷練習(xí)才能把自己不會部分減少,當(dāng)然這次爬取了500多張妹紙還是挺養(yǎng)眼的。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • python
    +關(guān)注

    關(guān)注

    54

    文章

    4759

    瀏覽量

    84301

原文標(biāo)題:小白請上車 | Python抓取花瓣網(wǎng)高清美圖

文章出處:【微信號:magedu-Linux,微信公眾號:馬哥Linux運(yùn)維】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    美圖秀秀(美圖大師)

    `<font face="Verdana"><strong>美圖秀秀(美圖大師)<
    發(fā)表于 09-02 10:53

    如何使用高清網(wǎng)絡(luò)機(jī)頂盒

    隨著3g互聯(lián)網(wǎng)絡(luò)的發(fā)展,其覆蓋率不斷的擴(kuò)大使互聯(lián)網(wǎng)絡(luò)電視的使用也越來越普遍。那么在如何使用高清網(wǎng)絡(luò)機(jī)頂盒時,我們怎么去選購機(jī)頂盒呢?  選高清
    發(fā)表于 06-17 17:26

    小米聯(lián)姻美圖 最大的敵人還是蘋果!

    `有網(wǎng)友調(diào)侃,心目中國產(chǎn)手機(jī)的拍照水平是:美圖>vivo>華為>OPPO>小米。想不到這一頭一尾的兩個品牌,居然結(jié)盟了!2018年11月19日,小米集團(tuán)發(fā)布Q3公告,并高調(diào)宣布與美圖公司簽訂戰(zhàn)略合作
    發(fā)表于 11-21 13:50

    python網(wǎng)絡(luò)爬蟲概述

    網(wǎng)絡(luò)爬蟲(Web Spider)又稱網(wǎng)絡(luò)蜘蛛、網(wǎng)絡(luò)機(jī)器人,是一種按照一定的規(guī)則,自動地抓取萬維網(wǎng)信息的程序或者腳本。網(wǎng)絡(luò)爬蟲按照系統(tǒng)結(jié)構(gòu)和實
    發(fā)表于 03-21 16:51

    美圖M6s發(fā)布:Angelababy自曝高清自拍 簡直美炸了

    昨天美圖正式發(fā)布了新一代的美圖的手機(jī)M6s,美圖的首席代言人Angelababy隨即在微博曬出了由美圖M6s拍攝的自拍美照,并附文稱一張高清
    發(fā)表于 12-06 18:22 ?2488次閱讀

    美圖V4高清圖賞

    要說手機(jī)圈最為養(yǎng)眼的發(fā)布會,當(dāng)然要數(shù)美圖了。作為行業(yè)內(nèi)“顏值”最高的新品發(fā)布會,美圖手機(jī)似乎一直在堅持把手機(jī)發(fā)布會當(dāng)成時尚秀來辦。美女帥哥紅毯已成標(biāo)配,明星網(wǎng)紅更是紛來捧場,熱鬧非凡。
    的頭像 發(fā)表于 12-14 10:34 ?3741次閱讀

    python3.3抓取網(wǎng)頁數(shù)據(jù)的程序資料免費下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是python3.3抓取網(wǎng)頁數(shù)據(jù)的程序資料免費下載。
    發(fā)表于 01-29 15:19 ?21次下載
    <b class='flag-5'>python</b>3.3<b class='flag-5'>抓取</b>網(wǎng)頁數(shù)據(jù)的程序資料免費下載

    美圖V7高清圖賞

    1月8日下午,美圖手機(jī)正式發(fā)布美圖V7標(biāo)準(zhǔn)版,搭載驍龍845處理器,全球首創(chuàng)的前置三攝配置,支持“前置AI夜拍美顏”“3D凝時相機(jī)”“閉眼修復(fù)”等攝影功能。
    的頭像 發(fā)表于 01-30 09:25 ?3581次閱讀

    美圖皮膚檢測儀高清圖賞

    近日,美圖手機(jī)官方微博發(fā)布告別信,宣布將在年中關(guān)閉手機(jī)業(yè)務(wù),將旗下美圖手機(jī)的品牌獨家授權(quán)給小米集團(tuán)。
    的頭像 發(fā)表于 05-29 09:01 ?5125次閱讀

    Python網(wǎng)絡(luò)爬蟲的PDF電子書免費下載

    本書講解 了 如何使用Python 來編寫網(wǎng)絡(luò)爬蟲程序 , 內(nèi) 容包括 網(wǎng)絡(luò)爬蟲簡介 , 從頁面 中 抓取數(shù)據(jù) 的三種方法 , 提取緩存 中 的 數(shù)據(jù) , 使用 多 個線程和進(jìn)程來進(jìn)行
    發(fā)表于 07-08 08:00 ?9次下載

    小米CC9美圖定制版高清圖賞

    去年底,小米宣布收購美圖手機(jī),未來美圖手機(jī)將由小米運(yùn)營。在7月2日晚的發(fā)布會上,小米正式發(fā)布了小米CC9美圖定制版,也就是之前的“小仙女”手機(jī),小米負(fù)責(zé)硬件的生產(chǎn)研發(fā),但相機(jī)部分則是100%由
    的頭像 發(fā)表于 07-08 09:56 ?3285次閱讀

    Python爬蟲:使用哪種協(xié)議的代理IP最佳?

    網(wǎng)絡(luò)大數(shù)據(jù)要抓取信息,大多需要經(jīng)過python爬蟲工作,爬蟲能夠幫助我們將頁面的信息抓取下來。
    的頭像 發(fā)表于 06-28 16:25 ?1908次閱讀

    Python網(wǎng)絡(luò)設(shè)備巡檢(異常自動報警)

    python抓取交換機(jī)的信息。
    的頭像 發(fā)表于 12-29 09:09 ?2922次閱讀

    使用Python網(wǎng)絡(luò)設(shè)備進(jìn)行運(yùn)維的思路分析

    python代碼抓取交換機(jī)的上面的信息,例如客戶端的MAC地址,交換機(jī)端口,并把抓取的信息篩選,存入sqlserver數(shù)據(jù)庫。
    發(fā)表于 01-26 16:38 ?518次閱讀

    Python庫解析:通過庫實現(xiàn)代理請求與數(shù)據(jù)抓取

    Python中,有多個庫可以幫助你實現(xiàn)代理請求和數(shù)據(jù)抓取。這些庫提供了豐富的功能和靈活的API,使得你可以輕松地發(fā)送HTTP請求、處理響應(yīng)、解析HTML/XML/JSON數(shù)據(jù),以及進(jìn)行復(fù)雜的網(wǎng)絡(luò)操作。
    的頭像 發(fā)表于 10-24 07:54 ?62次閱讀