Python爬取了40w+表情包,從此成為表情帝句占!

原創(chuàng)?小瑜??3月28日

大家好沪摄,我是小瑜!在文末給大家準(zhǔn)備了一些爬蟲的學(xué)習(xí)資料纱烘,需要的自己提取杨拐。

最近小瑜在跟別人聊天的時(shí)候,常常因?yàn)闆]有一個(gè)有趣的表情包而使得聊天枯燥無味且尷尬擂啥,所以哄陶,小瑜花費(fèi)了一個(gè)小時(shí),用Python爬取了40w+表情包∑∷現(xiàn)在來分享給大家!

分析網(wǎng)頁

我們此次是從百度圖片中爬取表情包奕筐。

首先我們按F12打開開發(fā)者模式,對name里面的網(wǎng)頁進(jìn)行觀察变骡,發(fā)現(xiàn)我們要的圖片數(shù)據(jù)存在XHR中离赫,如圖:

我們進(jìn)一步發(fā)現(xiàn),單個(gè)網(wǎng)頁中只存有30張表情包的數(shù)據(jù)塌碌,那么我們只要找到每個(gè)網(wǎng)頁URL之間的關(guān)系渊胸,就可以進(jìn)行批量提取了。我觀察了前三個(gè)URL中的params參數(shù)台妆,發(fā)現(xiàn)了URL之間存在的規(guī)律翎猛,每一頁的params參數(shù)中的gsm參數(shù)在上一頁中存儲著,且pn參數(shù)比上一頁多30接剩。如圖:

所以切厘,綜上我們就構(gòu)建出了網(wǎng)頁的URL,部分代碼如下:

('word','表情包'),

('s',''),

('se',''),

('tab',''),

('width',''),

('height',''),

('face','0'),

('istype','2'),

('qc',''),

('nc','1'),

('fr',''),

('expermode',''),

('force',''),

('pn', str(page *30)),

('rn','30'),

('gsm', re.findall('"gsm":"(.*?)"',response.text)),

)

獲取數(shù)據(jù)

從上面我們可以看出百度圖片的數(shù)據(jù)用json轉(zhuǎn)化成字典的形式提取是最簡單的方式懊缺,但是它提取到第10頁后會出現(xiàn)這個(gè)錯(cuò)誤疫稿。

好不容易才分析好了網(wǎng)頁,沒想到才爬取了10頁數(shù)據(jù)就over了鹃两。

不過遗座,小瑜并沒有放棄,而是繼續(xù)的研究俊扳。

皇天不負(fù)有心人途蒋,終于讓小瑜找到了解決辦法。我們不在將數(shù)據(jù)轉(zhuǎn)化成字典馋记,而是轉(zhuǎn)化成字符串号坡,然后用正則表達(dá)式進(jìn)行提取懊烤,就可以批量獲取表情包了。代碼如下:

response = requests.get('https://image.baidu.com/search/acjson', headers=headers,cookies=cookies,params=params)

a = re.findall('"thumbURL":"(.*?jpg)"', response.text)

names = re.findall('"fromPageTitleEnc":"(.*?)",',response.text)

讓我們來看看提取的效果:

效果很好筋帖,沒有什么問題奸晴,那我們就可以開始著手準(zhǔn)備存儲圖片了。

存儲圖片

數(shù)據(jù)存儲的方式在之前的文章已經(jīng)講的很清楚了(不懂的朋友可以看看這篇文章一文教會你日麸,Python數(shù)據(jù)如何存儲)寄啼,這里我們不在詳細(xì)介紹,我們直接展示代碼:

foriina:

r = requests.get(i)

try:

withopen(f'{names[x]}.jpg','ab')asf:

f.write(r.content)

x=x+1

except:

pass

讓我們來看看效果圖:

總結(jié)

1.?本文詳細(xì)的介紹了如何從百度圖片上批量獲取表情包代箭,請讀者仔細(xì)閱讀墩划,并加以操作!(僅供學(xué)習(xí),不做商用)

2. URL中params參數(shù)需要在上一頁數(shù)據(jù)中獲取嗡综,是URL構(gòu)造的新形式乙帮,請讀者仔細(xì)研究!

3. 資料下載到本地打開极景,直接網(wǎng)頁打開會顯示壓縮包錯(cuò)誤察净。(鏈接:https://pan.baidu.com/s/1Lq5J9-o7horh0RN15mS9Iw

提取碼:gols)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市盼樟,隨后出現(xiàn)的幾起案子氢卡,更是在濱河造成了極大的恐慌,老刑警劉巖晨缴,帶你破解...
    沈念sama閱讀 211,884評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件译秦,死亡現(xiàn)場離奇詭異,居然都是意外死亡击碗,警方通過查閱死者的電腦和手機(jī)筑悴,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,347評論 3 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來稍途,“玉大人阁吝,你說我怎么就攤上這事⌒蹬模” “怎么了求摇?”我有些...
    開封第一講書人閱讀 157,435評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長殊者。 經(jīng)常有香客問我,道長验夯,這世上最難降的妖魔是什么猖吴? 我笑而不...
    開封第一講書人閱讀 56,509評論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮挥转,結(jié)果婚禮上海蔽,老公的妹妹穿的比我還像新娘共屈。我一直安慰自己,他們只是感情好党窜,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,611評論 6 386
  • 文/花漫 我一把揭開白布拗引。 她就那樣靜靜地躺著,像睡著了一般幌衣。 火紅的嫁衣襯著肌膚如雪矾削。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,837評論 1 290
  • 那天豁护,我揣著相機(jī)與錄音哼凯,去河邊找鬼。 笑死楚里,一個(gè)胖子當(dāng)著我的面吹牛断部,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播班缎,決...
    沈念sama閱讀 38,987評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼蝴光,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了达址?” 一聲冷哼從身側(cè)響起蔑祟,我...
    開封第一講書人閱讀 37,730評論 0 267
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎苏携,沒想到半個(gè)月后做瞪,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,194評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡右冻,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,525評論 2 327
  • 正文 我和宋清朗相戀三年装蓬,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片纱扭。...
    茶點(diǎn)故事閱讀 38,664評論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡牍帚,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出乳蛾,到底是詐尸還是另有隱情暗赶,我是刑警寧澤,帶...
    沈念sama閱讀 34,334評論 4 330
  • 正文 年R本政府宣布肃叶,位于F島的核電站蹂随,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏因惭。R本人自食惡果不足惜岳锁,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,944評論 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望蹦魔。 院中可真熱鬧激率,春花似錦咳燕、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,764評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至嘉冒,卻和暖如春曹货,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背健爬。 一陣腳步聲響...
    開封第一講書人閱讀 31,997評論 1 266
  • 我被黑心中介騙來泰國打工控乾, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人娜遵。 一個(gè)月前我還...
    沈念sama閱讀 46,389評論 2 360
  • 正文 我出身青樓蜕衡,卻偏偏與公主長得像,于是被迫代替她去往敵國和親设拟。 傳聞我的和親對象是個(gè)殘疾皇子慨仿,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,554評論 2 349

推薦閱讀更多精彩內(nèi)容