當前位置: 妍妍網 > 碼農

Python爬蟲:爬取男生喜歡的圖片

2024-05-23碼農

點選上方 " Python人工智慧技術 " 關註, 星標或者置頂

22點24分準時推播,第一時間送達

後台回復「 大禮包 」,送你特別福利

編輯:樂樂 | 來自:網路

上一篇:

正文

大家好,我是Python人工智慧技術

任務目標:

1.抓取不同型別的圖片

2.編寫一個GUI界面爬蟲程式,打包成exe重新檔

3.遇到的難點

1.分析如何抓取不同型別的圖片

首先開啟網站,可以看到有如下6個型別的選單


在這裏插入圖片描述

點選不同選單,發現URL顯示如下

大胸妹:https:/cid = 2

小翹臀:https:/cid = 6

可以看到每個型別圖片對應不同的cid值

所以要想抓取不同型別的圖片,只需要構造下url

將cid進行參數化,然後傳給url即可

具體程式碼在以下定義

2.利用tkinter進行GUI編程

之前有寫過一些tkinter編程的隨筆

例如 利用python制作一個轉譯工具

先來看一下這次設計的程式最終頁面布局,

然後再具體講下如何實作的,頁面布局如下:


選擇圖片儲存路徑

抓取到的圖片要保存到電腦本地,所以就想著最好能夠自己挑選本地任意一個資料夾作為儲存路徑

後來網上沖浪一番發現tkinter是可以實作這個功能的

可以透過tkinter.filedialog模組中的askdirectory()方法實作

下面是在網上找到的一段範例程式碼

具體到這個例子,

(1)定義一個文字域,用來存放(顯示)選擇的儲存路徑

(2)定一個按鈕,來觸發選擇本地路徑功能

(3)定義一個函式,來實作選取路徑功能

後續保存圖片時,路徑可以直接使用前面定義好的的self.input中的值

選擇分類

因為圖片分為了6個類別,每個類別對應一個cid值,所以可以預先把cid抽象出來,視為參數傳遞 (1)定義一個拖動框,儲存圖片型別。另外,搜尋公眾號程式設計師小樂後台回復「賺錢」,獲取一份驚喜禮包。

(2)根據選擇性型別不同,返回不同的cid值

3.填寫爬取頁數


在這裏插入圖片描述

自訂抓取深度,某些抓取前5頁或者前10頁

後面把這個文本文本的值傳給url即可

3.遇到的問題

下載圖片的名稱無效,導致無法保存

有些圖片沒有名稱,檔名就是.jpg, 這樣在保存時會提示非法字元無法保存,程式也會報錯,終止執行。

為了解決這個問題,我在每個檔名的末尾都加一個字母,這樣就不會存在無名稱圖片了

整體效果如下:

你還有什 麽想要補充的嗎?

免責聲明:本文內容來源於網路,文章版權歸原作者所有,意在傳播相關技術知識&行業趨勢,供大家學習交流,若涉及作品版權問題,請聯系刪除或授權事宜。

技術君個人微信

添加技術君個人微信即送一份驚喜大禮包

→ 技術資料共享

→ 技術交流社群

--END--

往日熱文:

Python程式設計師深度學習的「四大名著」:

這四本書著實很不錯!我們都知道現在機器學習、深度學習的資料太多了,面對海量資源,往往陷入到「無從下手」的困惑出境。而且並非所有的書籍都是優質資源,浪費大量的時間是得不償失的。給大家推薦這幾本好書並做簡單介紹。

獲得方式:

1.掃碼關註本公眾號

2.後台回復關鍵詞:名著

▲長按掃描關註,回復名著即可獲取