你要偷偷的學(xué)Python,然后驚呆所有人(第九天)

標(biāo)題無意冒犯阀圾,就是覺得這個廣告挺好玩的

文章目錄

前言

歡迎來到我們的圈子

開手練習(xí):爬取網(wǎng)上書店

第一步:找到最小公共父標(biāo)簽

第二步:找到單個目標(biāo)所在標(biāo)簽

第三步:代碼與自動化

第四步:填充網(wǎng)址

小爬蟲撲空啦

json串

Network

重要圖標(biāo)介紹

操作流程

json

why json?

how json?

小爬蟲又來啦

易容術(shù):請求頭Request Headers

什么是Request Headers

如何添加Request Headers

進(jìn)擊吧椎木!小爬蟲

小爬蟲被騙啦

帶參請求數(shù)據(jù)

強(qiáng)行灌輸知識點(diǎn)

前言

前期回顧:你要偷偷學(xué)Python(第八天)

上一篇呢,上一篇我們了解了一下網(wǎng)頁的基本結(jié)構(gòu)脓斩,并且通過對網(wǎng)頁的分析抓取了一點(diǎn)數(shù)據(jù)出來。

但是我們就這么滿足了嗎畴栖?這顯然是不可能的随静,你見過哪個爬蟲就爬幾個字嘛。

所以今天吗讶,我們來一次性爬上一大波數(shù)據(jù)A敲汀!照皆!

我行重绷,你也行!Dせ佟昭卓!

插播一條推送:(如果是小白的話,可以看一下下面這一段)

歡迎來到我們的圈子

如果大家在學(xué)習(xí)中遇到困難瘟滨,想找一個python學(xué)習(xí)交流環(huán)境候醒,可以加入我們的python圈,裙號947618024杂瘸,可領(lǐng)取python學(xué)習(xí)資料倒淫,會節(jié)約很多時間,減少很多遇到的難題败玉。

本系列文默認(rèn)各位有一定的C或C++基礎(chǔ)敌土,因?yàn)槲沂菍W(xué)了點(diǎn)C++的皮毛之后入手的Python。本系列文默認(rèn)各位會百度绒怨,學(xué)習(xí)‘模塊’這個模塊的話纯赎,還是建議大家有自己的編輯器和編譯器的,上一篇已經(jīng)給大家做了推薦啦南蹂?本系列也會著重培養(yǎng)各位的自主動手能力犬金,畢竟我不可能把所有知識點(diǎn)都給你講到,所以自己解決需求的能力就尤為重要,所以我在文中埋得坑請不要把它們看成坑晚顷,那是我留給你們的鍛煉機(jī)會峰伙,請各顯神通,自行解決该默。1234567

哎瞳氓,怪我孤陋寡聞,實(shí)在找不到適合我們這個階段的網(wǎng)站栓袖,我的爬蟲又不斷地讓人捏死匣摘,只好借鑒別人的栗子了。裹刮。音榜。

開手練習(xí):爬取網(wǎng)上書店

目標(biāo)網(wǎng)址:http://books.toscrape.com/

任務(wù):爬取目標(biāo)網(wǎng)址中的分類目錄:

有沒有思路?沒思路看我講捧弃。

第一步:找到最小公共父標(biāo)簽

這個會找吧:

第一步赠叼,點(diǎn)亮匹配按鈕(以后我就叫它匹配按鈕了)

第二步,把鼠標(biāo)放到要選的區(qū)域违霞,注意嘴办,要顏色完全覆蓋住你要選的區(qū)域,覆蓋不住調(diào)整鼠標(biāo)位置买鸽。

第三步涧郊,左擊鼠標(biāo),定位代碼眼五。

第四步底燎,再看一眼那行標(biāo)簽是不是最小且公共的了,有虛線弹砚,可以看到那行標(biāo)簽管到哪一層。

其實(shí)你再認(rèn)真找一下枢希,就會發(fā)現(xiàn)我們上面圖中標(biāo)出的區(qū)域并不是最小的桌吃,最小的是那個< ul >。

第二步:找到單個目標(biāo)所在標(biāo)簽

第二步怎么走鞍巍茅诱?第一步可以理解吧,第一步做完事要為“find_all”服務(wù)的搬卒,一籃子全撈出來瑟俭,那第二步自然是要一個一個揀出來嘛,為“find”服務(wù)契邀。

那具體怎么做就不用我再說了吧摆寄,參照上一步。

來我?guī)愦蜷_一個標(biāo)簽看一下:

看到?jīng)],層次分明微饥。

第三步:代碼與自動化

第三步自然就要把目標(biāo)值取出來了嘛逗扒,我們順便把網(wǎng)址也取了吧啡直。

importrequestsfrombs4importBeautifulSoupres = requests.get('http://books.toscrape.com/')soup = BeautifulSoup(res.text,'html.parser')items = soup.find('ul',class_ ='nav nav-list').find('ul').find_all('li')#我驚奇的發(fā)現(xiàn)吁伺,還有這種騷操作foriteminitems:? ? kind = item.find('a')print('分類'+kind.text.strip()+'\n網(wǎng)址'+kind['href']+'\n')123456789101112

這樣打出來你會發(fā)現(xiàn)那根本不是一個完整的網(wǎng)址,這要怎么辦呢愧捕?

第四步:填充網(wǎng)址

其實(shí)你打開一個目錄肃续,就會發(fā)現(xiàn)它的網(wǎng)址長這樣:(這里我打開的是第一個目錄)

http://books.toscrape.com/catalogue/category/books/travel_2/index.html

這有什么特點(diǎn)呢黍檩?咱把它分開:

http://books.toscrape.com/catalogue/category/books/travel_2/index.html12

好,現(xiàn)在再問你看到了什么始锚?

這兩部分是不是都能找到出處9艚础!

好疼蛾,現(xiàn)在我們微調(diào)一下上面的代碼:

importrequestsfrombs4importBeautifulSoupurl ='http://books.toscrape.com/'res = requests.get(url)soup = BeautifulSoup(res.text,'html.parser')items = soup.find('ul',class_ ='nav nav-list').find('ul').find_all('li')#我驚奇的發(fā)現(xiàn)肛跌,還有這種騷操作foriteminitems:? ? kind = item.find('a')print('分類:'+kind.text.strip()+'\n網(wǎng)址:'+url+kind['href']+'\n')1234567891011121314

第一題到此告一段落、

小爬蟲撲空啦

學(xué)完這些之后察郁,我就想著去爬我的博客評論了衍慎。不過一頓操作下來:

gogogo!Fつ啤稳捆!

好,定位代碼段:

好麦轰,層層爬惹呛弧(演示效果,不然我才不一層一層撥開):

好款侵,結(jié)果顯示為空末荐。

可以去打印出爬下來的網(wǎng)頁源代碼:res,然后翻一翻新锈,你會驚奇的發(fā)現(xiàn)甲脏,評論部分被隱藏了!C冒省块请!

那怎么辦呢?接下來那就進(jìn)入我們今天的第一個知識點(diǎn)了–json串拳缠。

json串

依舊是別人的栗子墩新,我來講給大家懂。

網(wǎng)頁源代碼里沒有我們想要的數(shù)據(jù)窟坐,那它究竟藏到了哪里呢海渊?

想找到答案绵疲,需要用到一項新技能——翻找Network!

還記得我一開始就叫大家用谷歌瀏覽器嗎切省?現(xiàn)在就體現(xiàn)出優(yōu)勢了最岗。

Network

首先,打開一個界面朝捆,這里我選擇了志炫的歌單般渡,我比較喜歡他的歌。

小白請跟我來芙盘,因?yàn)槟悴⒉恢滥男┚W(wǎng)頁是用json 傳輸什么數(shù)據(jù)的驯用,所以練習(xí)的時候不要自己亂找網(wǎng)頁。

https://y.qq.com/portal/search.html#page=1&searchid=1&remoteplace=txt.yqq.top&t=song&w=%E6%9E%97%E5%BF%97%E7%82%AB

這個界面應(yīng)該會打開吧儒老,怕大家看不到蝴乔,我特地多圈了幾圈,點(diǎn)它驮樊。

好薇正,然而并沒有發(fā)生什么。

那不急囚衔,我們重新加載一下這個歌單界面挖腰,找到空白處,右擊练湿,重新加載猴仑。

這時候你會看到這么一個界面。

你用別的瀏覽器試試肥哎,會是什么效果辽俗。我用火狐試過,找是可以找篡诽,一片亂碼而已崖飘。

Network的功能是:記錄在當(dāng)前頁面上發(fā)生的所有請求。現(xiàn)在看上去好像空空如也的樣子杈女,這是因?yàn)镹etwork記錄的是實(shí)時網(wǎng)絡(luò)請求∽現(xiàn)在網(wǎng)頁都已經(jīng)加載完成,所以不會有東西碧信。

我們點(diǎn)擊一下刷新,瀏覽器會重新訪問網(wǎng)絡(luò)街夭,這樣就會有記錄砰碴。

好,走到這里了板丽,我覺得我有必要介紹一下這個頁面上幾個比較重要的東西呈枉。

重要圖標(biāo)介紹

從左往右看啊趁尼,紅色的圓鈕是啟用Network監(jiān)控(默認(rèn)高亮打開),灰色圓圈是清空面板上的信息猖辫。右側(cè)勾選框Preserve log(放大鏡旁邊那個)酥泞,它的作用是“保留請求日志”。如果不點(diǎn)擊這個啃憎,當(dāng)發(fā)生頁面跳轉(zhuǎn)的時候芝囤,記錄就會被清空。所以辛萍,我們在爬取一些會發(fā)生跳轉(zhuǎn)的網(wǎng)頁時悯姊,會點(diǎn)亮它。

再往右是對請求進(jìn)行分類查看贩毕。我們最常用的是:ALL(查看全部)/XHR(僅查看XHR)

哎悯许,不廢話了,上操作流程吧辉阶。

操作流程

首先先壕,我們要找的東西是文本嘛,那怎么辦呢谆甜?直接點(diǎn)XHR就好了垃僚。

好,現(xiàn)在這么多東西了店印,我就直接跟你說要的東西就在這里面冈在,你要怎么找?一個一個點(diǎn)開嗎按摘?你會發(fā)現(xiàn)很多都是傳一些邊角料包券,再然后,你會發(fā)現(xiàn)那些邊角料都比目標(biāo)文案要小很多炫贤,所以就直接找size最大的那個點(diǎn)進(jìn)去就好溅固。

咱也不繞彎子了,進(jìn)去之后直接點(diǎn)Preview兰珍。

好侍郭,Preview點(diǎn)進(jìn)去之后自己玩一玩,看看里面都是些啥掠河。

看完之后亮元,回來,跟我點(diǎn)開旁邊的Headers唠摹。

好爆捞,看到了什么?一個網(wǎng)址是吧勾拉,復(fù)制它煮甥,打開它盗温,是不是和Preview里面的一模一樣,只是排版亂了些成肘。

我就不貼了啊卖局,密集恐懼癥就別點(diǎn)開了。

這說明什么双霍?這說明我們要爬的網(wǎng)址其實(shí)是這個砚偶。

注:如果這個網(wǎng)址打不開,那就不用爬了店煞,人家并不想讓你爬蟹演。

那么,對于這份XHR來說:這個XHR是一個字典顷蟀,鍵data對應(yīng)的值也是一個字典酒请;在該字典里,鍵song對應(yīng)的值也是一個字典鸣个;在該字典里羞反,鍵list對應(yīng)的值是一個列表;在該列表里囤萤,一共有20個元素昼窗;每一個元素都是一個字典;在每個字典里涛舍,鍵name的值澄惊,對應(yīng)的是歌曲名。

會不會亂富雅?我覺得不會啊掸驱,除非你沒有一步一步實(shí)操跟進(jìn)。

講到這里還沒有講到 json串 啊没佑,你先把這個網(wǎng)頁爬出來毕贼,打印出來看看,是一個又有點(diǎn)像字典蛤奢,又有點(diǎn)像字符串的玩意兒鬼癣。

這玩意兒就是json串了。

json

why json?

答案很簡單啤贩,因?yàn)椴皇撬械木幊陶Z言都能讀懂Python里的數(shù)據(jù)類型(如待秃,列表/字典),但是所有的編程語言痹屹,都支持文本(比如在Python中章郁,用字符串這種數(shù)據(jù)類型來表示文本)這種最樸素的數(shù)據(jù)類型。

如此痢掠,json數(shù)據(jù)才能實(shí)現(xiàn)驱犹,跨平臺,跨語言工作足画。

而json和XHR之間的關(guān)系:XHR用于傳輸數(shù)據(jù)雄驹,它能傳輸很多種數(shù)據(jù),json是被傳輸?shù)囊环N數(shù)據(jù)格式淹辞。就是這樣而已医舆。

我們總是可以將json格式的數(shù)據(jù),轉(zhuǎn)換成正常的列表/字典象缀,也可以將列表/字典蔬将,轉(zhuǎn)換成json。

how json?

方法很簡單央星,請求到數(shù)據(jù)之后霞怀,使用json()方法即可成功讀取。接下來的操作莉给,就和列表/字典相一致毙石。

importrequests# 引用requests庫res_music= requests.get('https://c.y.qq.com/soso/fcgi-bin/client_search_cp?ct=24&qqmusic_ver=1298&new_json=1&remoteplace=txt.yqq.song&searchid=67818388354301120&t=0&aggr=1&cr=1&catZhida=1&lossless=0&flag_qc=0&p=1&n=10&w=%E6%9E%97%E5%BF%97%E7%82%AB&g_tk_new_20200303=5381&g_tk=5381&loginUin=0&hostUin=0&format=json&inCharset=utf8&outCharset=utf-8?ice=0&platform=yqq.json&needNewCode=0')# 調(diào)用get方法,下載這個字典json_music= res_music.json()# 使用json()方法颓遏,將response對象徐矩,轉(zhuǎn)為列表/字典print(json_music)# 打印json_music的數(shù)據(jù)類型12345678

所以接下來怎么辦呢?

importrequests# 引用requests庫res_music = requests.get('https://c.y.qq.com/soso/fcgi-bin/client_search_cp?ct=24&qqmusic_ver=1298&new_json=1&remoteplace=txt.yqq.song&searchid=67818388354301120&t=0&aggr=1&cr=1&catZhida=1&lossless=0&flag_qc=0&p=1&n=10&w=%E6%9E%97%E5%BF%97%E7%82%AB&g_tk_new_20200303=5381&g_tk=5381&loginUin=0&hostUin=0&format=json&inCharset=utf8&outCharset=utf-8?ice=0&platform=yqq.json&needNewCode=0')# 調(diào)用get方法叁幢,下載這個字典json_music = res_music.json()# 使用json()方法滤灯,將response對象,轉(zhuǎn)為列表/字典list_music = json_music['data']['song']['list']# 一層一層地取字典曼玩,獲取歌單列表formusicinlist_music:# list_music是一個列表鳞骤,music是它里面的元素print(music['name'])# 以name為鍵,查找歌曲名print('所屬專輯:'+music['album']['name'])# 查找專輯名print('播放時長:'+str(music['interval'])+'秒')# 查找播放時長print('播放鏈接:https://y.qq.com/n/yqq/song/'+music['mid']+'.html\n\n')# 查找播放鏈接123456789101112131415161718

小爬蟲又來啦

這回演训,通過我們的一頓操作猛如虎弟孟,可算是找對了網(wǎng)址啊:

https://blog.csdn.net/phoenix/web/v1/comment/list/108858689?page=1&size=10&commentId=

這是第一頁的評論網(wǎng)址样悟。

好極拂募,我們開始吧。

importrequestsres = requests.get('https://blog.csdn.net/phoenix/web/v1/comment/list/108858689?page=1&size=10&commentId=')# 發(fā)起請求窟她,填入請求頭和參數(shù)print(res.status_code)print(res.text)12345678

好極陈症,就試了下水就讓人給懟回來了。震糖。录肯。

莫非今天還真爬不過去了?

不知道吊说,再說吧论咏。优炬。

易容術(shù):請求頭Request Headers

服務(wù)器可能會對我們這些“投機(jī)取巧”的爬蟲做限制處理。一來可以降低服務(wù)器的訪問壓力厅贪,畢竟成千上萬次的訪問對代碼來說就是一個for循環(huán)的事兒蠢护;二來可以攔截那些想要通過爬蟲竊取數(shù)據(jù)的競爭者。

那這就有一個問題养涮,服務(wù)器怎么判斷訪問者是一個普通的用戶(通過瀏覽器)葵硕,還是一個爬蟲者(通過代碼)呢?

這需要我們回到瀏覽器中贯吓,重新認(rèn)識一個新的信息欄:請求頭Request Headers懈凹。

什么是Request Headers

看下面這張圖

每一個請求,都會有一個Request Headers悄谐,我們把它稱作請求頭介评。它里面會有一些關(guān)于該請求的基本信息,比如:這個請求是從什么設(shè)備什么瀏覽器上發(fā)出尊沸?這個請求是從哪個頁面跳轉(zhuǎn)而來威沫?

如上圖,user-agent(中文:用戶代理)會記錄你電腦的信息和瀏覽器版本洼专,如果我們想告知服務(wù)器棒掠,我們不是爬蟲,而是一個正常的瀏覽器屁商。就要去修改user-agent烟很。倘若不修改,那么這里的默認(rèn)值就會是Python蜡镶,會被服務(wù)器認(rèn)出來雾袱。

origin(中文:源頭)和referer(中文:引用來源)則記錄了這個請求,最初的起源是來自哪個頁面官还。它們的區(qū)別是referer會比origin攜帶的信息更多些芹橡。

對于爬取某些特定信息,也要求你注明請求的來源望伦,即origin或referer的內(nèi)容林说。

如何添加Request Headers

importrequestsurl ='https://blog.csdn.net/phoenix/web/v1/comment/list/108858689?page=1&size=10&commentId='headers = {'origin':'https://lion-wu.blog.csdn.net',# 請求來源,本案例中其實(shí)是不需要加這個參數(shù)的屯伞,只是為了演示'referer':'https://lion-wu.blog.csdn.net/article/details/108858689',# 請求來源腿箩,攜帶的信息比“origin”更豐富,本案例中其實(shí)是不需要加這個參數(shù)的劣摇,只是為了演示'user-agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.111 Safari/537.36'# 標(biāo)記了請求從什么設(shè)備珠移,什么瀏覽器上發(fā)出}# 偽裝請求頭res = requests.get(url,headers=headers)1234567891011121314

好極,干!>濉暇韧!

進(jìn)擊吧!小爬蟲

這次浓瞪,我給小爬蟲進(jìn)行了一波易容锨咙,可能是它長得不符合服務(wù)器的審美吧,所以次次碰壁追逮,這次易容之后,不知道有沒有長到服務(wù)器的審美上去呢粹舵?讓我們拭目以待吧Eシ酢!眼滤!

importrequestsurl ='https://blog.csdn.net/phoenix/web/v1/comment/list/108858689?page=1&size=10&commentId='headers = {'origin':'https://lion-wu.blog.csdn.net',# 請求來源巴席,本案例中其實(shí)是不需要加這個參數(shù)的,只是為了演示'referer':'https://lion-wu.blog.csdn.net/article/details/108858689',# 請求來源诅需,攜帶的信息比“origin”更豐富漾唉,本案例中其實(shí)是不需要加這個參數(shù)的,只是為了演示'user-agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.111 Safari/537.36'# 標(biāo)記了請求從什么設(shè)備堰塌,什么瀏覽器上發(fā)出}# 偽裝請求頭res = requests.get(url,headers=headers)print(res.status_code)print(res.text)1234567891011121314151617

bash:129$ python ~/classroom/apps-2-id-5c3d89848939b4000100e7f5/129/main.py200{"code":200,"message":"success","data":{"count":60,"pageCount":6,"floorCount":59,"list":[{"info":{"commentId":13646053,"articleId":108858689,"parentId":0,"postTime":"2020-10-30 11:03:45","content":"刪除多張表:自己想 O(∩_∩)O~","userName":"qq_43055855","digg":2,"diggArr":[],"parentUserName":null,"parentNickName":null,"avatar":"https://profile.csdnimg.cn/C/B/3/3_qq_43055855","nickName":"海海不掉頭發(fā)","dateFormat":"6天前","tag":"碼皇","parentTag":null,"years":null,"vip":null,"vipIcon":null,"companyBlog":null,"companyBlogIcon":null,"flag":null,"flagIcon":null,"levelIcon":null},"sub":123

我就截取一點(diǎn)吧赵刑,太大了,可以看出來截下來了就好场刑。

別說了般此,也可以自己去解析一下,這個以我們之前學(xué)的解不了牵现。后面我解給你看铐懊。

小爬蟲被騙啦

當(dāng)服務(wù)器遇上了整容過后的小爬蟲,終于“門戶大開”瞎疼,大方的給了一頁的數(shù)據(jù)科乎,一頁的數(shù)據(jù),一頁贼急。茅茂。。

但是我要的是全部啊竿裂,你就給我一頁就想打發(fā)我玉吁?打發(fā)叫花子呢?

那怎么辦呢腻异?這個死渣男进副,小氣得很吶,看來又要我們自己動腦筋咯。

帶參請求數(shù)據(jù)

還記得我們最開始是怎么找到評論區(qū)的包嗎影斑?對给赞,我沒說,我是先將頁面清空矫户,然后請求訪問了第二個頁面片迅,這時候就出現(xiàn)了一個新包,用腳指頭想都知道那就是第二個頁面的包皆辽,不過我還是想用第一個頁面柑蛇,于是我就切回去了。

那我們再想想驱闷,這些數(shù)據(jù)我們是在哪里找到的耻台?我不希望看到你們說Preview啊,想清楚啊空另,想這樣說的朋友盆耽,給你們一次重新組織語言的機(jī)會。

對扼菠,明明就是在Headers的General的url里面找到的嘛摄杂,Preview怎么爬?對吧循榆。

本來不想多廢話析恢,但是我喜歡分析url,所以就多說兩句唄秧饮。

第一個頁面的URL:https://blog.csdn.net/phoenix/web/v1/comment/list/108858689?page=1&size=10&commentId=第二個頁面的URL:https://blog.csdn.net/phoenix/web/v1/comment/list/108858689?page=2&size=10&commentId=第三個頁面的URL:https://blog.csdn.net/phoenix/web/v1/comment/list/108858689?page=3&size=10&commentId=123

一目了然了吧氮昧,不用我再多放了。

importrequestsfrombs4importBeautifulSoupimportjsonheaders = {'origin':'https://lion-wu.blog.csdn.net',# 請求來源浦楣,本案例中其實(shí)是不需要加這個參數(shù)的袖肥,只是為了演示'referer':'https://lion-wu.blog.csdn.net/article/details/108858689',# 請求來源,攜帶的信息比“origin”更豐富振劳,本案例中其實(shí)是不需要加這個參數(shù)的椎组,只是為了演示'user-agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.111 Safari/537.36'# 標(biāo)記了請求從什么設(shè)備,什么瀏覽器上發(fā)出}# 偽裝請求頭foriinrange(5):? ? res = requests.get('https://blog.csdn.net/phoenix/web/v1/comment/list/108858689?page='+str(i)+'&size=10&commentId=',headers=headers)print(res.status_code)? ? soup = BeautifulSoup(res.text,'html.parser')? ? json_items = json.loads(soup.text)? ? items = json_items['data']['list']foriteminitems:print(item['info']['content'])print('\n'+'----------'+'\n')12345678910111213141516171819202122232425

強(qiáng)行灌輸知識點(diǎn)

有時候呢历恐,你會發(fā)現(xiàn)你抓取的幾個頁面不過是在重復(fù)(強(qiáng)行灌輸知識點(diǎn))

那就灌一下吧寸癌。

我也不知道什么是就要用上,反正先寫上弱贼。

所以蒸苇,其實(shí)我們可以把Query String Parameters里的內(nèi)容,直接復(fù)制下來吮旅,封裝為一個字典溪烤,傳遞給params。只是有一點(diǎn)要特別注意:要給他們打引號,讓它們變字符串檬嘀。

所以槽驶,代碼最后可能長這樣:

偽代碼

import requests# 引用requests模塊url ='https://blog.csdn.net/phoenix/web/v1/comment/list/108858689'foriinrange(5):? ? 'params'= {'page': str(i)'size':'10''commentId':? ? ? }# 將參數(shù)封裝為字典res_comments = requests.get(url,params=params,頭)123456789101112

好極,好極鸳兽,這篇就到這里啦掂铐,爽吶。

下一篇會比較輕松一些揍异,這篇信息量有點(diǎn)大啊全陨。

最后多說一句,想學(xué)習(xí)Python可聯(lián)系小編衷掷,這里有我自己整理的整套python學(xué)習(xí)資料和路線烤镐,想要這些資料的都可以進(jìn)q裙947618024領(lǐng)取。

本文章素材來源于網(wǎng)絡(luò)棍鳖,如有侵權(quán)請聯(lián)系刪除。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末碗旅,一起剝皮案震驚了整個濱河市渡处,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌祟辟,老刑警劉巖医瘫,帶你破解...
    沈念sama閱讀 222,252評論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異旧困,居然都是意外死亡醇份,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,886評論 3 399
  • 文/潘曉璐 我一進(jìn)店門吼具,熙熙樓的掌柜王于貴愁眉苦臉地迎上來僚纷,“玉大人,你說我怎么就攤上這事拗盒〔澜撸” “怎么了?”我有些...
    開封第一講書人閱讀 168,814評論 0 361
  • 文/不壞的土叔 我叫張陵陡蝇,是天一觀的道長痊臭。 經(jīng)常有香客問我,道長登夫,這世上最難降的妖魔是什么广匙? 我笑而不...
    開封第一講書人閱讀 59,869評論 1 299
  • 正文 為了忘掉前任,我火速辦了婚禮恼策,結(jié)果婚禮上鸦致,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好蹋凝,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,888評論 6 398
  • 文/花漫 我一把揭開白布鲁纠。 她就那樣靜靜地躺著,像睡著了一般鳍寂。 火紅的嫁衣襯著肌膚如雪改含。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,475評論 1 312
  • 那天迄汛,我揣著相機(jī)與錄音捍壤,去河邊找鬼。 笑死鞍爱,一個胖子當(dāng)著我的面吹牛鹃觉,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播睹逃,決...
    沈念sama閱讀 41,010評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼盗扇,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了沉填?” 一聲冷哼從身側(cè)響起疗隶,我...
    開封第一講書人閱讀 39,924評論 0 277
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎翼闹,沒想到半個月后斑鼻,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體猎荠,經(jīng)...
    沈念sama閱讀 46,469評論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡坚弱,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,552評論 3 342
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了关摇。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片荒叶。...
    茶點(diǎn)故事閱讀 40,680評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖输虱,靈堂內(nèi)的尸體忽然破棺而出停撞,到底是詐尸還是另有隱情,我是刑警寧澤悼瓮,帶...
    沈念sama閱讀 36,362評論 5 351
  • 正文 年R本政府宣布戈毒,位于F島的核電站,受9級特大地震影響横堡,放射性物質(zhì)發(fā)生泄漏埋市。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,037評論 3 335
  • 文/蒙蒙 一命贴、第九天 我趴在偏房一處隱蔽的房頂上張望道宅。 院中可真熱鬧食听,春花似錦、人聲如沸污茵。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,519評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽泞当。三九已至迹蛤,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間襟士,已是汗流浹背盗飒。 一陣腳步聲響...
    開封第一講書人閱讀 33,621評論 1 274
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留陋桂,地道東北人逆趣。 一個月前我還...
    沈念sama閱讀 49,099評論 3 378
  • 正文 我出身青樓,卻偏偏與公主長得像嗜历,于是被迫代替她去往敵國和親宣渗。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,691評論 2 361