一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

本文送給希望用python寫出爬蟲程序的零基礎(chǔ)小伙伴

 DerekW99 2017-10-12

經(jīng)完全零基礎(chǔ)的人親身測(cè)試,好使,連安裝程序在內(nèi),只需5步!

前言

 三點(diǎn)


一、什么是爬蟲?

粗俗點(diǎn)說,只要你肉眼在網(wǎng)頁(yè)上看的見的數(shù)據(jù),就能同步到你自己的本機(jī)或數(shù)據(jù)庫(kù)(或excel)。這就叫爬蟲。那什么是看的見的數(shù)據(jù)呢?比如你網(wǎng)頁(yè)訪問韭菜說的微博,里面的文章啊、標(biāo)題啊、發(fā)表時(shí)間啊等等,這些都叫數(shù)據(jù)。這些數(shù)據(jù)會(huì)以某種形式存在某個(gè)地方。而這些數(shù)據(jù)的匯總下來,就是爬蟲的本質(zhì)。


二、為啥是Python?

python既簡(jiǎn)單好用,又時(shí)髦,做量化的都在用,你就用就好了,可以先不管那么多。以后用多了,就會(huì)感受到它的強(qiáng)大。


三、為啥做這個(gè)教程?

之前我們用python的爬蟲程序?qū)懥藘善恼?,反響很好,分別是:

(1)關(guān)上新聞聯(lián)播,聽聽民間談?wù)撝袊?guó)經(jīng)濟(jì)的真實(shí)細(xì)節(jié)

(2)茅臺(tái)酒喝者不買,買者不喝?基于京東評(píng)論的爬蟲分析


很多朋友問怎么做到的,能否寫個(gè)教程,甚至有十幾位向我們重金打賞。這個(gè)東西本來也不難,我想干脆做出來分享給大家吧,就以爬去茅臺(tái)酒在京東上的評(píng)論為例,只需要5步,你就可以知其然,并知其所以然!

也請(qǐng)大家分享給更多的大家!

(當(dāng)然,賞金我們都退回去了,有幾位聯(lián)系不到請(qǐng)?jiān)诤笈_(tái)速與我們的小編聯(lián)系,見尋人啟事


分享本文至朋友圈或微信群,截圖發(fā)送給公眾號(hào)后臺(tái),即可獲取源代碼及我們對(duì)程序的逐行詳細(xì)解讀。


第一步

 下載安裝運(yùn)行環(huán)境



任何一種語言,總得有一個(gè)交互環(huán)境吧(編寫和運(yùn)行程序的地方)。 

 

你可以直接去python的官網(wǎng)下載:www.python.org。不管是哪個(gè)版本,下載這個(gè) executable installer即可。(先別著急下載,往下看)

然后在搜索windows“程序和軟件”的地方輸入“python”就會(huì)蹦出來python的交互環(huán)境,我去,回到中世紀(jì)的感覺,這就是傳說中的python shell.(翻譯:python的殼), 比python shell性能更好的交換環(huán)境有一個(gè)叫Ipython,可以在python官網(wǎng)上下載,但一樣是烏漆麻黑的交互環(huán)境,小白肯定不喜歡。

這種原始的界面看起來都太讓人頭大了。更重要的是,在python的使用過程中,我們要用到很多和金融計(jì)算有關(guān)的模塊(比如畫個(gè)圖,做個(gè)回歸分析啥的),每一個(gè)模塊都需要再安裝,太麻煩了。 于是干脆直接請(qǐng)出Anaconda,這是python的一個(gè)科學(xué)計(jì)算環(huán)境,它不僅把python需要用到的科學(xué)計(jì)算數(shù)據(jù)分析的“模塊包”包含在內(nèi),還直接內(nèi)嵌安裝了python和Ipython。也就是說,你安裝了它,就不需要在單獨(dú)安裝python和相關(guān)模塊了。 

Anaconda的下載地址為:https://www./downloads#windows

首先你要右擊“我的電腦”-“屬性”查看一下你的系統(tǒng)是多少位的,再選擇安裝,建議直接上3.6版本。 更牛的是,它還自帶安裝了非常友好的python開發(fā)環(huán)境,Spyder。他可以讓我們擺脫原始大黑屏,清晰而舒暢的進(jìn)行代碼的編輯和測(cè)試。這個(gè)頁(yè)面和我之前用過的matlab非常像,所以一上手就感到很友好。大致功能分區(qū)如圖:

這個(gè)頁(yè)面的左邊是負(fù)責(zé)程序編寫。執(zhí)行程序直接點(diǎn)擊綠色小三角就可以了。右上方會(huì)對(duì)程序中產(chǎn)生的各種變量、數(shù)組等要素進(jìn)行羅列。 右下方則顯示程序的執(zhí)行結(jié)果。執(zhí)行前你可以選擇python console 或者IPython console來運(yùn)行程序,差異不是很大,我一般選擇IPython(它的運(yùn)行結(jié)果會(huì)直接在屏幕中顯示,不會(huì)單獨(dú)跳出窗口)。你也可以在這里直接寫代碼,進(jìn)行簡(jiǎn)單的編寫和測(cè)試修改。History log 里面則會(huì)顯示你在這里輸入的每一個(gè)命令記錄,反復(fù)修改時(shí)多用來復(fù)制粘貼代碼。

 

所以我現(xiàn)在編寫python程序,直接打開spyder就可以了。 

 


先寫一個(gè)簡(jiǎn)單的小程序測(cè)試一下spyder怎么用。 比如股票華夏幸福(sh600340)某天的價(jià)格信息為:開盤價(jià)38.60,最高價(jià)39.87,最低價(jià)37.70,收盤價(jià)38.43。 我們可以在程序編輯頁(yè)面這么寫:

復(fù)制代碼:

“import numpy as np 

sh600340=np.array([38.60,39.87,37.70,38.43]) 

print(sh600340)”

這個(gè)程序的意思是用numpy模塊創(chuàng)建一個(gè)數(shù)組叫做sh600340,用它來存儲(chǔ)華夏幸福的價(jià)格信息。這里你先不必深究每句話的意思。

 寫完以后點(diǎn)擊綠色小三角按鈕執(zhí)行,會(huì)提示你保存這個(gè)py文件。

你找個(gè)位置存一下。然后程序就會(huì)執(zhí)行,結(jié)果如下:


第一步完成以后,你已經(jīng)能夠用spyder執(zhí)行一個(gè)python程序,并能夠清晰看到執(zhí)行的結(jié)果。下面就可以進(jìn)行第二步啦!

廣告位:本站推出投資趣圖發(fā)送專用賬號(hào),歡迎關(guān)注

第二步

 執(zhí)行京東茅臺(tái)評(píng)論爬蟲程序


親,現(xiàn)在可以把這個(gè)程序復(fù)制到你的spyder當(dāng)中。


分享本文至朋友圈或微信群,截圖發(fā)送給公眾號(hào)后臺(tái),即可獲取源代碼及我們對(duì)程序的逐行詳細(xì)解讀。


點(diǎn)擊執(zhí)行!見證奇跡的時(shí)刻!下圖是程序執(zhí)行的過程:

執(zhí)行完畢以后,在你存放py程序的文件夾里,會(huì)出現(xiàn)一個(gè)excel文件如圖:

這個(gè)文件就是存儲(chǔ)爬蟲結(jié)果的地方。點(diǎn)擊打開看看有什么驚喜:

你可以看到。所有的信息都已經(jīng)放在這個(gè)excel文件里面啦。

到了這一步。你已經(jīng)可以自己動(dòng)手獲得京東上關(guān)于茅臺(tái)這個(gè)商品的評(píng)論數(shù)據(jù)了!

不過,你可能會(huì)問,如果我想看別的商品怎么辦?我想看天貓的數(shù)據(jù)怎么辦?我想看隨便一個(gè)網(wǎng)頁(yè)的某個(gè)數(shù)據(jù)怎么辦?

沒錯(cuò),上面這部分只是授人以魚,下面這部分我們就開始授人以漁,絕對(duì)核心干貨。


第三步

 舉一反三的幾個(gè)關(guān)鍵點(diǎn)



程序里面有幾個(gè)地方是可變的,分別是:

(1)程序中我向excel表格中寫入的表頭的列名哪里來的?我從數(shù)據(jù)源中讀取哪些數(shù)據(jù)向這些列中區(qū)填充?你會(huì)發(fā)現(xiàn),二者其實(shí)是一致的。

(2)我的數(shù)據(jù)來源是從哪里獲取的?就是下面的這個(gè)url連接。

整個(gè)邏輯就是,

1.我從這個(gè)URL鏈接中,找到了我想要進(jìn)行爬蟲的信息;

2.通過解析其內(nèi)容發(fā)現(xiàn),其中有content,uerclientShow等一系列信息是我想要的,于是我就創(chuàng)建了一個(gè)excel,把它的表頭(也就是0行0列開始),輸入為content,uerclientShow等一系列名稱;(對(duì)應(yīng)代碼28-38行)

3.然后我定義了一個(gè)函數(shù),這個(gè)函數(shù)可以把連接中解析出來的所有content,uerclientShow等相關(guān)內(nèi)容,按照對(duì)應(yīng)關(guān)系,寫入到excel的相應(yīng)位置(45-58行)

4.最后我以循環(huán)的方式執(zhí)行了這個(gè)函數(shù),針對(duì)一頁(yè)評(píng)論都執(zhí)行了一邊。

那么最核心的問題就變成:如何找到這個(gè)鏈接,并且解析出這些信息?


第四步

 找到某個(gè)網(wǎng)頁(yè)的解析地址并替換商品


這里教大家 如何分析京東評(píng)論鏈接,因?yàn)樵蹅兊乃性u(píng)論都是基于這個(gè)鏈接地址爬出來的哦!其實(shí)呢對(duì)于非程序員來講,這段講解 對(duì)你們來說有些難了,但沒辦法。不講清楚,這個(gè)程序你就沒法做到舉一反三,我就有騙錢的嫌疑。

首先:打開京東一個(gè)商品鏈接 例如:https://item.jd.com/251837.html

其次 看F12 打開瀏覽器 調(diào)試工具。這個(gè)工具每個(gè)瀏覽器都不一樣,建議用谷歌瀏覽器,因?yàn)檫@個(gè)瀏覽器比較友好。

于是呢!你會(huì)發(fā)現(xiàn),哇。。。什么玩意!

接下來 跟我來

第一步

先點(diǎn)擊這兩個(gè):network,js

第二步

在點(diǎn)擊這個(gè):商品評(píng)論,也就是你想看的頁(yè)面

一看都是鏈接。這個(gè)其實(shí)是HTTP 請(qǐng)求協(xié)議,里面請(qǐng)求了好多。因?yàn)榫〇|評(píng)論是用異步做的,所以只有在這里面才可以看到。

隨便點(diǎn)擊一個(gè)  右面要點(diǎn)擊 response 看里面的JSON 值,

其實(shí)這里面我們可以這樣分析 你想啊, 你現(xiàn)在找的是什么啊。是不是評(píng)論啊。那評(píng)論英文單詞是什么呀。是不是comment啊那你就看這些鏈接 哪些是comment

咦  猛然 你就會(huì)發(fā)現(xiàn) 這有一個(gè)鏈接:productcommentXXX,點(diǎn)開里面的response查看,果然,里面就是所有評(píng)論的內(nèi)容的相關(guān)信息!

意不意外?。。◇@不驚喜?。?! 。沒錯(cuò) 我們程序中的的鏈接就是這么來的!

如果你想換一個(gè)商品,沒有問題!這個(gè)鏈接里面有一個(gè)productid,可以替換的嘛。

https://club.jd.com/comment/productPageComments.action?productId=251837&score=0&sortType=5&page=1&pageSize=100&isShadowSku=0&fold=1(注意:程序中最后'fold='這個(gè)地方用i代替了數(shù)字,做了一個(gè)循環(huán),fold=1代表第一頁(yè),=2代表第二頁(yè))


這個(gè)id和直觀看上去的網(wǎng)頁(yè)鏈接是一樣的。

那我們把其他商品的id換過來就可以了。

比如:東阿阿膠。

我們把程序中的id代碼更換一下,就可以爬出東阿阿膠的相關(guān)評(píng)論了。

結(jié)果如下:


第五步

 如何從地址中解析中自己想要的信息


你一定會(huì)問,程序中的表頭那些標(biāo)簽信息是怎么來的?這些都是從地址中解析出來的。

你把京東茅臺(tái)評(píng)論的解析地址放到網(wǎng)頁(yè)上打開看一下:

https://club.jd.com/comment/productPageComments.action?productId=251837&score=0&sortType=5&page=1&pageSize=100&isShadowSku=0&fold=1

這里面包含了第一頁(yè)評(píng)論中的所有信息,甚至包括圖片。但是,完全沒有格式啊。到底哪些才是我們要的信息呢?

像這種這么亂的JSON ,你讓我看我也找參數(shù)很費(fèi)勁的,幸虧有很多巨人已經(jīng)意識(shí)到這些問題了 并開發(fā)一些工具例如以下這個(gè)鏈接:

http://www./

復(fù)制上面的JSON到這個(gè)文本框 點(diǎn)擊校驗(yàn)。你就會(huì)發(fā)現(xiàn)JSON 被格式化了。。。沒錯(cuò)就是這么神奇 ,然后就是考驗(yàn)各位英語了。。。其實(shí)不會(huì)英語也沒關(guān)系,你就看需要什么信息,就把前面的字段復(fù)制過去就行了。

仔細(xì)觀察你會(huì)發(fā)現(xiàn),每一個(gè)評(píng)論及其相關(guān)信息,都會(huì)存在一個(gè)數(shù)組中。

你可以看看這里頭有哪些信息是你想要的,找出來。

所以我們?cè)诔绦蛑械?8-45行的表頭信息,就是從這里找來的。你自己也可以嘗試更改,留下自己想要的東西。



結(jié)語

 隨便叨叨



如果你認(rèn)真看了這個(gè)程序,并且照著做了一遍,你現(xiàn)在已經(jīng)可以從京東這個(gè)網(wǎng)站上爬取任何一個(gè)商品的數(shù)據(jù)了。下一步,你可以依葫蘆畫瓢,向天貓,微博,知乎,股吧,天天基金網(wǎng)等等各種你感興趣的網(wǎng)站進(jìn)軍?;敬笸‘?。

其他各位試驗(yàn)成功的消息。


    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多

    亚洲精品日韩欧美精品| 中文字幕日韩精品人一妻| 老司机激情五月天在线不卡| 午夜精品黄片在线播放| 丰满人妻一二三区av| 国产av乱了乱了一区二区三区| 国产激情一区二区三区不卡| 欧美美女视频在线免费看| 国产高清一区二区白浆| 精品久久久一区二区三| 又大又长又粗又黄国产| 91偷拍视频久久精品| 黑鬼糟蹋少妇资源在线观看| 精品久久av一二三区| 中国一区二区三区不卡| 日本女人亚洲国产性高潮视频| 黑人粗大一区二区三区| 韩国日本欧美国产三级| 亚洲国产黄色精品在线观看| 操白丝女孩在线观看免费高清| 欧美日本精品视频在线观看| 在线观看日韩欧美综合黄片| 91欧美一区二区三区| 欧美日韩乱码一区二区三区| 久久精品色妇熟妇丰满人妻91| 国产麻豆视频一二三区| 国产精品午夜福利免费阅读| 国产午夜精品福利免费不| 欧美国产日韩在线综合| 不卡中文字幕在线免费看| 午夜小视频成人免费看| 欧美大黄片在线免费观看| 亚洲日本中文字幕视频在线观看 | 国产又粗又猛又爽又黄的文字| 天堂热东京热男人天堂| 欧美熟妇一区二区在线| 日韩1区二区三区麻豆| 区一区二区三中文字幕| 夫妻性生活黄色录像视频| 亚洲精品国产美女久久久99| 91精品蜜臀一区二区三区|