在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

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

Python告訴你充氣娃娃什么感覺(jué)?

WpOh_rgznai100 ? 來(lái)源:lq ? 2019-07-18 10:55 ? 次閱讀

【導(dǎo)語(yǔ)】:之前為大家介紹了 requests 庫(kù)的基本信息以及使用方法,收到了很多同學(xué)的反饋,期待作者新作,今天不負(fù)所望,作者就帶大家來(lái)玩一把刺激的。

一、需求背景

在實(shí)際開(kāi)發(fā)過(guò)程中,在我們動(dòng)手開(kāi)發(fā)之前,都是由產(chǎn)品經(jīng)理為我們(測(cè)試、前端、后端、項(xiàng)目經(jīng)理等)先講解一下需求,我們了解了需求之后,才開(kāi)始一起來(lái)討論技術(shù)方案。

我們自己實(shí)現(xiàn)一些小功能時(shí)同樣需要討論需求,也就是告訴別人我們?yōu)槭裁匆鲞@個(gè)東西?或者我們想利用這款產(chǎn)品解決什么問(wèn)題。

我們常常看到一些有關(guān)充氣娃娃的表情包和圖片或新聞,但是這種東西很少會(huì)像一些小視頻一些相互交流,大家可能都是偷摸玩耍。所以豬哥相信其實(shí)大部分同學(xué)并沒(méi)有親身體驗(yàn)過(guò)充氣娃娃到底是什么感覺(jué)(包括豬哥),所以豬哥很好奇究竟是什么一種體驗(yàn)?真的如傳言中那樣爽嗎?

二、功能描述

基于很多人沒(méi)有體驗(yàn)過(guò)充氣娃娃是什么感覺(jué),但是又很好奇,所以希望通過(guò)爬蟲(chóng)+數(shù)據(jù)分析的方式直觀而真實(shí)的告訴大家(下圖為成品圖)。

三、技術(shù)方案

為了實(shí)現(xiàn)上面的需求以及功能,我們來(lái)討論下具體的技術(shù)實(shí)現(xiàn)方案:

分析某東評(píng)論數(shù)據(jù)請(qǐng)求

使用requests庫(kù)抓取某東的充氣娃娃評(píng)論

使用詞云做數(shù)據(jù)展示

四、技術(shù)實(shí)現(xiàn)

上篇文章中就給大家說(shuō)過(guò),今天我們以某東商品編號(hào)為:1263013576 的商品為對(duì)象,進(jìn)行數(shù)據(jù)分析,我們來(lái)看看詳細(xì)的技術(shù)實(shí)現(xiàn)步驟吧!

教程只為學(xué)習(xí)交流,不得用于商用獲利,后果自負(fù)!如有侵權(quán)或者對(duì)任何公司或個(gè)人造成不利影響,請(qǐng)告知?jiǎng)h除

1.分析并獲取評(píng)論接口的URL

第一步:打開(kāi)某東的商品頁(yè),搜索你想研究的商品。

第二步:我們?cè)陧?yè)面中鼠標(biāo)右鍵選擇檢查(或F12)調(diào)出瀏覽器的調(diào)試窗口。

第三步:調(diào)出瀏覽器后點(diǎn)擊評(píng)論按鈕使其加載數(shù)據(jù),然后我們點(diǎn)擊network查看數(shù)據(jù)。

第四步:查找加載評(píng)論數(shù)據(jù)的請(qǐng)求url,我們可以使用某條評(píng)論中的一段話,然后在調(diào)試窗口中搜索。

經(jīng)過(guò)上面4步分析,我們就拿到了京東評(píng)論數(shù)據(jù)的接口

https://sclub.jd.com/comment/productPageComments.action?callback=fetchJSON_comment98vv4654&productId=1263013576&score=0&sortType=5&page=0&pageSize=10&isShadowSku=0&fold=1

productPageComments:看這個(gè)名字就知道是產(chǎn)品頁(yè)評(píng)論

2.爬取評(píng)論數(shù)據(jù)

拿到評(píng)論數(shù)據(jù)接口url之后,我們就可以開(kāi)始寫(xiě)代碼抓取數(shù)據(jù)了。一般我們會(huì)先嘗試抓取一條數(shù)據(jù),成功之后,我們?cè)偃シ治鋈绾螌?shí)現(xiàn)大量抓取。

上一篇我們已經(jīng)講解了如何使用requests庫(kù)發(fā)起http/s請(qǐng)求,我們來(lái)看看代碼:

但是在打印的結(jié)果中數(shù)據(jù)卻是空?為何瀏覽器請(qǐng)求成功,而我們的代碼卻請(qǐng)求不到數(shù)據(jù)呢?難道我們遇到了反爬?這種情況下如何解決?

大家在遇到這種情況時(shí),回到瀏覽器的調(diào)試窗口,查看下瀏覽器發(fā)起的請(qǐng)求頭,因?yàn)榭赡転g覽器請(qǐng)求時(shí)攜帶了什么請(qǐng)求頭參數(shù)而我們代碼中沒(méi)有。

果然,我們?cè)跒g覽器頭中看到了有兩個(gè)請(qǐng)求頭 Referer 和 User-Agent,那我們先把他們加到代碼的請(qǐng)求頭中,再試試!

3.數(shù)據(jù)提取

我們對(duì)爬取的數(shù)據(jù)分析發(fā)現(xiàn),此數(shù)據(jù)為jsonp跨域請(qǐng)求返回的json結(jié)果,所以我們只要把前面的fetchJSON_comment98vv4646(和最后的)去掉就拿到j(luò)son數(shù)據(jù)了。

將json數(shù)據(jù)復(fù)制到j(luò)son格式化工具中或者在Chrome瀏覽器調(diào)試窗口點(diǎn)擊Preview也可以看到,json數(shù)據(jù)中有一個(gè)key為comments的值便是我們想要的評(píng)論數(shù)據(jù)。

我們?cè)賹?duì)comments值進(jìn)行分析發(fā)現(xiàn)是一個(gè)有多條數(shù)據(jù)的列表,而列表里的每一項(xiàng)就是每個(gè)評(píng)論對(duì)象,包含了評(píng)論的內(nèi)容,時(shí)間,id,評(píng)價(jià)來(lái)源等等信息,而其中的content字段便是我們?cè)陧?yè)面看到的用戶評(píng)價(jià)內(nèi)容。

那我們來(lái)用代碼將每個(gè)評(píng)價(jià)對(duì)象的content字段提取并打印出來(lái)。

4.數(shù)據(jù)保存

數(shù)據(jù)提取后我們需要將他們保存起來(lái),一般保存數(shù)據(jù)的格式主要有:文件、數(shù)據(jù)庫(kù)、內(nèi)存這三大類(lèi)。今天我們就將數(shù)據(jù)保存為txt文件格式,因?yàn)椴僮魑募鄬?duì)簡(jiǎn)單同時(shí)也能滿足我們的后續(xù)數(shù)據(jù)分析的需求。

然后我們查看一下生成的文件內(nèi)容是否正確。

5.批量爬取

再完成一頁(yè)數(shù)據(jù)爬取、提取、保存之后,我們來(lái)研究一下如何批量抓取?

做過(guò)web的同學(xué)可能知道,有一項(xiàng)功能是我們必須要做的,那便是分頁(yè)。何為分頁(yè)?為何要做分頁(yè)?

我們?cè)跒g覽很多網(wǎng)頁(yè)的時(shí)候常常看到“下一頁(yè)”這樣的字眼,其實(shí)這就是使用了分頁(yè)技術(shù),因?yàn)橄蛴脩粽故緮?shù)據(jù)時(shí)不可能把所有的數(shù)據(jù)一次性展示,所以采用分頁(yè)技術(shù),一頁(yè)一頁(yè)的展示出來(lái)。

讓我們?cè)倩氐阶铋_(kāi)始的加載評(píng)論數(shù)據(jù)的url:

https://sclub.jd.com/comment/productPageComments.action?callback=fetchJSON_comment98vv4654&productId=1263013576&score=0&sortType=5&page=0&pageSize=10&isShadowSku=0&fold=1

我們可以看到鏈接里面有兩個(gè)參數(shù)page=0&pageSize=10,page表示當(dāng)前的頁(yè)數(shù),pageSize表示每頁(yè)多少條,那這兩個(gè)數(shù)據(jù)直接去數(shù)據(jù)庫(kù)limit數(shù)據(jù)。

老司機(jī)一眼便可以看出這就是分頁(yè)的參數(shù),但是有同學(xué)會(huì)說(shuō):如果我是老司機(jī)還干嘛看你的文章?所以我教大家如何來(lái)找到這個(gè)分頁(yè)參數(shù)。

回到某東的商品頁(yè),我們將評(píng)價(jià)頁(yè)面拉到最底下,發(fā)現(xiàn)有分頁(yè)的按鈕,然后我們?cè)谡{(diào)試窗口清空之前的請(qǐng)求記錄。

清空之前的請(qǐng)求記錄之后,我們點(diǎn)擊上圖紅框分頁(yè)按鈕的數(shù)字2,代表這第二頁(yè),然后復(fù)制第一條評(píng)價(jià)去調(diào)試窗口搜索,最后找到請(qǐng)求鏈接。

然后我們點(diǎn)擊Headers查看第二頁(yè)請(qǐng)求數(shù)據(jù)的url

然后我們比較第一頁(yè)評(píng)價(jià)與第二頁(yè)評(píng)價(jià)的url有何區(qū)別。

這里也就驗(yàn)證了豬哥的猜想:page表示當(dāng)前的頁(yè)數(shù),pageSize表示每頁(yè)多少條。而且我們還能得出另一個(gè)結(jié)論:第一個(gè)page=0,第二頁(yè)page=1 然后依次往后。有同學(xué)會(huì)問(wèn):為什么第一頁(yè)不是1,而是0,因?yàn)樵跀?shù)據(jù)庫(kù)中一般的都是從0開(kāi)始計(jì)數(shù),編程行業(yè)很多數(shù)組列表都是從0開(kāi)始計(jì)數(shù)。

好了,知道分頁(yè)規(guī)律之后,我們只要在每次請(qǐng)求時(shí)將page參數(shù)遞增不就可以批量抓取了嗎?我們來(lái)寫(xiě)代碼吧!

簡(jiǎn)單講解一下做的改動(dòng):

對(duì)spider_comment方法增加入?yún)?shù),然后在url中增加占位符,這樣就可以動(dòng)態(tài)修改url,爬取指定的頁(yè)數(shù)。

增加一個(gè)batch_spider_comment方法,循環(huán)調(diào)用spider_comment方法,暫定爬取100頁(yè)。

在batch_spider_comment方法的for循環(huán)中設(shè)置了一個(gè)隨機(jī)的休眠時(shí)間,意在模擬用戶瀏覽,防止因?yàn)榕廊√l繁被封ip。

爬取完成之后檢查成果。

6.數(shù)據(jù)清洗

數(shù)據(jù)成功保存之后我們需要對(duì)數(shù)據(jù)進(jìn)行分詞清洗,對(duì)于分詞我們使用著名的分詞庫(kù)jieba。

首先是安裝jieba庫(kù):

pip3 install jieba

當(dāng)然這里你還可以對(duì)一些介詞等無(wú)效詞進(jìn)行剔除,這樣可以避免無(wú)效數(shù)據(jù)。

7.生成詞云

生成詞云我們需要用到numpy、matplotlib、wordcloud、Pillow這幾個(gè)庫(kù),大家先自行下載。matplotlib庫(kù)用于圖像處理,wordcloud庫(kù)用于生成詞云。

注意:font_path是選擇字體的路徑,如果不設(shè)置默認(rèn)字體可能不支持中文,豬哥選擇的是Mac系統(tǒng)自帶的宋體字!

最終結(jié)果:

我們來(lái)看看全代碼。

五、總結(jié)

因考慮新手的友好性,文章篇幅較長(zhǎng),詳細(xì)的介紹了從需求到技術(shù)分析、爬取數(shù)據(jù)、清洗數(shù)據(jù)、最后的分析數(shù)據(jù)。我們來(lái)總結(jié)一下本篇文章學(xué)到的東西吧:

如何分析并找出加載數(shù)據(jù)的url

如何使用requests庫(kù)的headers解決Referer和User-Agent反扒技術(shù)

如何找出分頁(yè)參數(shù)實(shí)現(xiàn)批量爬取

設(shè)置一個(gè)爬蟲(chóng)間隔時(shí)間防止被封ip

數(shù)據(jù)的提取與保存到文件

使用jieba庫(kù)對(duì)數(shù)據(jù)分詞清洗

使用wordcloud生成指定形狀的詞云

這是一套完整的數(shù)據(jù)分析案例,希望大家能自己動(dòng)手嘗試,去探索更多有趣的案例。

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

    關(guān)注

    2

    文章

    1469

    瀏覽量

    34663
  • python
    +關(guān)注

    關(guān)注

    56

    文章

    4822

    瀏覽量

    85782
  • 爬蟲(chóng)
    +關(guān)注

    關(guān)注

    0

    文章

    83

    瀏覽量

    7268

原文標(biāo)題:充氣娃娃什么感覺(jué)?Python告訴你

文章出處:【微信號(hào):rgznai100,微信公眾號(hào):rgznai100】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    【labview我來(lái)告訴】對(duì)像高亮顯示”實(shí)現(xiàn)酷閃耀功能

    `使用過(guò)ObjHighlight嗎?感覺(jué)怎么樣?我來(lái)告訴,ObjHighlight 這是對(duì)像一個(gè)的比較酷的功能。首先創(chuàng)建對(duì)像的引用,然后使用“方法節(jié)點(diǎn)”(調(diào)用節(jié)點(diǎn))限可以獲得,大家
    發(fā)表于 12-01 10:32

    共享掃碼娃娃機(jī)方案內(nèi)容

    `共享掃碼娃娃機(jī)方案內(nèi)容,最近共享單車(chē)模式很火,衍生出來(lái)的共享經(jīng)濟(jì)已經(jīng)點(diǎn)燃大眾創(chuàng)業(yè)的激情。共享掃碼娃娃機(jī)存量市場(chǎng)大,同時(shí)娃娃機(jī)運(yùn)營(yíng)方式存在較大的升級(jí)空間,在娃娃機(jī)的上下游產(chǎn)業(yè)和中間環(huán)節(jié)
    發(fā)表于 11-16 11:07

    DIY娃娃機(jī)相關(guān)資料推薦

    提示:文章寫(xiě)完后,目錄可以自動(dòng)生成,如何生成可參考右邊的幫助文檔DIY娃娃機(jī)前言一、pandas是什么?二、使用步驟1.引入庫(kù)2.讀入數(shù)據(jù)總結(jié)前言不知道大家有沒(méi)有和我一樣,有時(shí)候腦子里突然冒出來(lái)一
    發(fā)表于 01-07 07:16

    制作櫻花娃娃的教程分享

    描述櫻花娃娃這款櫻花娃娃旨在精美地開(kāi)始您的 SMD 焊接冒險(xiǎn)。所有無(wú)源元件的尺寸均為 0805。NL27WZ04 的 SOT363 封裝可能有點(diǎn)挑戰(zhàn)性。用一個(gè)細(xì)尖的烙鐵和穩(wěn)定的手,讓它閃爍并不難。PCB代碼https://github.com/nwmaker/sakura
    發(fā)表于 09-05 07:07

    聲控音樂(lè)娃娃電路圖

    聲控音樂(lè)娃娃電路圖
    發(fā)表于 07-29 09:15 ?807次閱讀
    聲控音樂(lè)<b class='flag-5'>娃娃</b>電路圖

    聲控音樂(lè)娃娃電路圖

    聲控音樂(lè)娃娃是一個(gè)很有趣的電子玩具,在一個(gè)洋氣十足的布娃娃體內(nèi)安裝有電子線路,當(dāng)你拍手擊掌時(shí),線路就被
    發(fā)表于 11-22 12:33 ?2127次閱讀
    聲控音樂(lè)<b class='flag-5'>娃娃</b>電路圖

    車(chē)載充氣真的會(huì)使用嗎?手把手教你如何使用車(chē)載充氣

    紐曼車(chē)載充氣泵,五步使用,簡(jiǎn)單輕松。
    的頭像 發(fā)表于 04-27 16:31 ?19.2w次閱讀

    用紙板制作抓娃娃機(jī)

    每次抓娃娃,總是差那么一丁點(diǎn),要是能在家練習(xí)就好了。本次就給大家介紹怎么做不插電的抓娃娃機(jī),快來(lái)學(xué)習(xí)吧。
    的頭像 發(fā)表于 01-22 17:49 ?7.1w次閱讀

    5款手機(jī)告訴什么是真正的旗艦

    誰(shuí)說(shuō)安卓不如ios?這5部手機(jī)告訴什么是真正的旗艦。
    的頭像 發(fā)表于 08-16 16:27 ?3286次閱讀

    如何使用電子技術(shù)設(shè)計(jì)一個(gè)會(huì)說(shuō)話的布娃娃

    這里介紹一種布娃娃,初看和普通的布娃娃沒(méi)有什么區(qū)別,但是只要碰一下娃娃的眼睛,她就會(huì)對(duì)說(shuō):這是我的眼睛,小朋友要保護(hù)自己的眼睛。摸一下
    的頭像 發(fā)表于 05-05 12:18 ?3667次閱讀
    如何使用電子技術(shù)設(shè)計(jì)一個(gè)會(huì)說(shuō)話的布<b class='flag-5'>娃娃</b>

    PCB制作的櫻花娃娃

    電子發(fā)燒友網(wǎng)站提供《PCB制作的櫻花娃娃.zip》資料免費(fèi)下載
    發(fā)表于 08-16 09:18 ?2次下載
    PCB制作的櫻花<b class='flag-5'>娃娃</b>

    Arduino娃娃屋迷你電視開(kāi)源設(shè)計(jì)

    電子發(fā)燒友網(wǎng)站提供《Arduino娃娃屋迷你電視開(kāi)源設(shè)計(jì).zip》資料免費(fèi)下載
    發(fā)表于 06-20 09:37 ?0次下載
    Arduino<b class='flag-5'>娃娃</b>屋迷你電視開(kāi)源設(shè)計(jì)

    充氣泵方案中的芯片選擇與應(yīng)用案例

    充氣泵方案中,芯片的選擇直接關(guān)系到充氣泵的性能和功能。下面介紹兩個(gè)充氣泵方案中常用的芯片選擇及其應(yīng)用案例。 首先,32位MCU芯片是充氣泵方案中常見(jiàn)的選擇。32位MCU芯片具備強(qiáng)大的
    的頭像 發(fā)表于 08-22 15:33 ?966次閱讀

    充氣泵方案的原理和結(jié)構(gòu)是什么?

    充氣泵是一種常見(jiàn)的氣體壓縮設(shè)備,它可以將空氣或其他氣體壓縮成高壓氣體,用于充氣、輸送、壓縮等工業(yè)和生活領(lǐng)域。充氣泵的原理是利用機(jī)械或電動(dòng)力量將氣體壓縮,使其體積減小,壓力增大,從而達(dá)到充氣
    的頭像 發(fā)表于 08-29 15:39 ?4730次閱讀

    充氣柜和普通開(kāi)關(guān)柜相比有什么優(yōu)點(diǎn)和缺點(diǎn)

    蜀瑞創(chuàng)新小編告訴大家:充氣柜和普通開(kāi)關(guān)柜在電力系統(tǒng)中各有其獨(dú)特的優(yōu)點(diǎn)和缺點(diǎn),以下是對(duì)兩者的詳細(xì)分析:
    的頭像 發(fā)表于 08-15 11:34 ?1079次閱讀
    <b class='flag-5'>充氣</b>柜和普通開(kāi)關(guān)柜相比有什么優(yōu)點(diǎn)和缺點(diǎn)
    主站蜘蛛池模板: 亚洲午夜视频在线 | 狠狠色婷婷丁香综合久久韩国 | 久久久久久久综合狠狠综合 | 国产片在线观看狂喷潮bt天堂 | 天天艹在线 | 久久久www免费人成看片 | 免费看美女午夜大片 | www.色多多 | 女人又色又爽又黄 | 特一级黄 | 日韩免费观看的一级毛片 | 日韩一级片在线播放 | 亚洲免费影视 | 国产精品黄页网站在线播放免费 | 国产大片免费观看资源 | 天天拍夜夜操 | 亚洲小说区图片区另类春色 | 久久亚洲国产欧洲精品一 | 在线免费看片a | 午夜爽爽爽 | 日本三级免费网站 | 色噜噜狠狠成人网 | 自拍偷拍福利 | 五月婷综合| 被公侵犯肉体中文字幕一区二区 | 天堂69亚洲精品中文字幕 | ak福利午夜在线观看 | 亚洲视频精选 | 日本三级在线播放线观看2021 | 69女porenhd| 久久婷婷综合五月一区二区 | 日日干夜夜欢 | 婷婷色网| 天天摸天天看 | 国产一级真人毛爱做毛片 | 99久在线| 美女扒开尿口给男人爽的视频 | 午夜精品久久久久久91 | 1024亚洲视频 | 色一欲一性一乱一区二区三区 | 加勒比一区二区 |