網(wǎng)站性能檢測(cè)評(píng)分
注:本網(wǎng)站頁(yè)面html檢測(cè)工具掃描網(wǎng)站中存在的基本問(wèn)題,僅供參考。
python用什么知乎
為什么美國(guó)知乎Quora選擇Python作為它的開(kāi)發(fā)環(huán)境 行業(yè)視頻課程
自從Facebook的創(chuàng)始人Adam D'Angelo開(kāi)始效力于這個(gè)大量使用了PHP的網(wǎng)站,我就一直在想他要用Python而不是PHP來(lái)創(chuàng)造Quora所遇到的技術(shù)挑戰(zhàn)。
Adam D'Angelo,Quora創(chuàng)始人:
我們非常確定我們不會(huì)用PHP。Facebook因?yàn)闅v史遺留原因而使用PHP,并不是因?yàn)樗亲詈玫倪x擇。
從以往的經(jīng)驗(yàn)看來(lái),編程語(yǔ)言的選擇是非常重要的,并且會(huì)付出非常昂貴的代價(jià)來(lái)改變它。
Python是一個(gè)Charlie和我都非常了解的語(yǔ)言(盡管我現(xiàn)在比剛開(kāi)始的時(shí)候了解的更多了)。我們也簡(jiǎn)單地考慮過(guò)C#、Java和Scala,Python最大的問(wèn)題是運(yùn)行速度和缺少數(shù)據(jù)類(lèi)型檢查。
C#似乎是很有前途,作為一個(gè)編程語(yǔ)言,它很偉大,但是:
我們不想在微軟架構(gòu)上,我們是為了學(xué)習(xí)新東西的,MS SQL 確實(shí)是非常不錯(cuò)的,但是我們知道我們需要為.NET集成很多有二等支持的開(kāi)源代碼,如果它支持的話(huà)。并且,現(xiàn)在大部分的工程師都習(xí)慣開(kāi)源資源。我們不會(huì)在Mono(C#/.NET的一個(gè)開(kāi)源代碼的實(shí)現(xiàn))上冒險(xiǎn)。還不清楚這個(gè)項(xiàng)目會(huì)用多長(zhǎng)時(shí)間,并且我還聽(tīng)說(shuō)了不少已經(jīng)表現(xiàn)出來(lái)的問(wèn)題??傊坪跻磺性贑#生態(tài)系統(tǒng)中的東西都表現(xiàn)出我們會(huì)在微軟架構(gòu)下。
‘另外兩個(gè)我們簡(jiǎn)要考慮了的語(yǔ)言還有OCaml和Haskkell(沒(méi)有一個(gè)有足夠大的生態(tài)系統(tǒng)或足夠好的標(biāo)準(zhǔn)庫(kù),可能對(duì)于需要寫(xiě)代碼的設(shè)計(jì)師/數(shù)據(jù)分析師/非工程師來(lái)說(shuō)太難了)。
我們決定,對(duì)于大多數(shù)我們要做的事情來(lái)說(shuō),Python已經(jīng)足夠快了(因?yàn)槲覀儽M可能的把我們的后端服務(wù)的關(guān)鍵代碼用C++來(lái)寫(xiě))。至于類(lèi)型檢查,我們寫(xiě)了完善的單元測(cè)試,它值得寫(xiě),并且實(shí)現(xiàn)了大部分相同的目標(biāo)。從它過(guò)去的5年發(fā)展來(lái)看,Python會(huì)繼續(xù)向著好的方向發(fā)展。
所以,我們對(duì)于這個(gè)選擇感到非常開(kāi)心。雖然其中有一些小的分歧,但是之前使用其他語(yǔ)言的早期的員工非常高興的過(guò)渡到了Python,特別是之前使用PHP的。自從下面這些事情開(kāi)始發(fā)生:
Python2.6是一個(gè)轉(zhuǎn)折點(diǎn),它有了足夠多的庫(kù)進(jìn)行兼容,我們很容易過(guò)渡到它Tornado(web框架)被發(fā)布為開(kāi)源,我們把實(shí)時(shí)更新網(wǎng)絡(luò)服務(wù)遷移到它上面PyPy看起來(lái)最終是可用的,并且會(huì)給我們一個(gè)顯著的加速
總之,這些給了我們信心,讓我們相信這個(gè)語(yǔ)言和生態(tài)系統(tǒng)正向著好的方向發(fā)展。
Charlie Cheever,Quora的一個(gè)創(chuàng)建者
給Adam的答案補(bǔ)充幾件事情:
Python有一堆相當(dāng)好的提供了良好的調(diào)試器和重載的框架(Django,Pylons和其他一些),這些大部分都被很好的支持并且也變得越來(lái)越好。由于我們的主要工作是建設(shè)網(wǎng)站,這是很有吸引力的。Python數(shù)據(jù)機(jī)構(gòu)很好的匹配JS數(shù)據(jù)結(jié)構(gòu),所以處理瀏覽器和服務(wù)器之間的數(shù)據(jù)非常直接和簡(jiǎn)單。這真是太好了,因?yàn)镼uora中涉及到大量的客戶(hù)端和服務(wù)端之間的不加載頁(yè)面的交互。Python代碼往往可讀性很強(qiáng),因?yàn)槲覀兿M茉诰W(wǎng)站上和一幫人工作,這變得非常重要。有很多其他的Python寫(xiě)的庫(kù),所以很容易在我們的代碼中引入一些東西,比如:自定義郵件服務(wù)器、任務(wù)隊(duì)列,等等。
Ruby是另一個(gè)我認(rèn)為比較合理的選擇,因?yàn)樗蚉ython有很多相同的優(yōu)點(diǎn),但是Adam和我都對(duì)Python了解的更多一點(diǎn)。
如何抓取這些網(wǎng)站數(shù)據(jù)?python源碼大全,包括微信,知乎。QQ,豆瓣,天貓京東等 流量視頻課程
WechatSogou[1]- 微信公眾號(hào)爬蟲(chóng)?;谒压肺⑿潘阉鞯奈⑿殴娞?hào)爬蟲(chóng)接口,可以擴(kuò)展成基于搜狗搜索的爬蟲(chóng),返回結(jié)果是列表,每一項(xiàng)均是公眾號(hào)具體信息字典。[1]: https://github/Chyroc/WechatSogou
DouBanSpider[2]- 豆瓣讀書(shū)爬蟲(chóng)。可以爬下豆瓣讀書(shū)標(biāo)簽下的所有圖書(shū),按評(píng)分排名依次存儲(chǔ),存儲(chǔ)到Excel中,可方便大家篩選搜羅,比如篩選評(píng)價(jià)人數(shù)>1000的高分書(shū)籍;可依據(jù)不同的主題存儲(chǔ)到Excel不同的Sheet ,采用User Agent偽裝為瀏覽器進(jìn)行爬取,并加入隨機(jī)延時(shí)來(lái)更好的模仿瀏覽器行為,避免爬蟲(chóng)被封。[2]: https://github/lanbing510/DouBanSpider
zhihu_spider[3]- 知乎爬蟲(chóng)。此項(xiàng)目的功能是爬取知乎用戶(hù)信息以及人際拓?fù)潢P(guān)系,爬蟲(chóng)框架使用scrapy,數(shù)據(jù)存儲(chǔ)使用mongodb。[3]: https://github/LiuRoy/zhihu_spider
bilibili-user[4]- Bilibili用戶(hù)爬蟲(chóng)??倲?shù)據(jù)數(shù):20119918,抓取字段:用戶(hù)id,昵稱(chēng),性別,頭像,等級(jí),經(jīng)驗(yàn)值,粉絲數(shù),生日,地址,注冊(cè)時(shí)間,簽名,等級(jí)與經(jīng)驗(yàn)值等。抓取之后生成B站用戶(hù)數(shù)據(jù)報(bào)告。[4]: https://github/airingursb/bilibili-user
SinaSpider[5]- 新浪微博爬蟲(chóng)。主要爬取新浪微博用戶(hù)的個(gè)人信息、微博信息、粉絲和關(guān)注。代碼獲取新浪微博Cookie進(jìn)行登錄,可通過(guò)多賬號(hào)登錄來(lái)防止新浪的反扒。主要使用 scrapy 爬蟲(chóng)框架。[5]: https://github/LiuXingMing/SinaSpider
distribute_crawler[6]- 小說(shuō)下載分布式爬蟲(chóng)。使用scrapy,redis, mongodb,graphite實(shí)現(xiàn)的一個(gè)分布式網(wǎng)絡(luò)爬蟲(chóng),底層存儲(chǔ)mongodb集群,分布式使用redis實(shí)現(xiàn),爬蟲(chóng)狀態(tài)顯示使用graphite實(shí)現(xiàn),主要針對(duì)一個(gè)小說(shuō)站點(diǎn)。[6]: https://github/gnemoug/distribute_crawler
CnkiSpider[7]- 中國(guó)知網(wǎng)爬蟲(chóng)。設(shè)置檢索條件后,執(zhí)行src/CnkiSpider.py抓取數(shù)據(jù),抓取數(shù)據(jù)存儲(chǔ)在/data目錄下,每個(gè)數(shù)據(jù)文件的第一行為字段名稱(chēng)。[7]: https://github/yanzhou/CnkiSpider
LianJiaSpider[8]- 鏈家網(wǎng)爬蟲(chóng)。爬取北京地區(qū)鏈家歷年二手房成交記錄。涵蓋鏈家爬蟲(chóng)一文的全部代碼,包括鏈家模擬登錄代碼。[8]: https://github/lanbing510/LianJiaSpider
scrapy_jingdong[9]- 京東爬蟲(chóng)。基于scrapy的京東網(wǎng)站爬蟲(chóng),保存格式為csv。[9]: https://github/taizilongxu/scrapy_jingdong
QQ-Groups-Spider[10]- QQ 群爬蟲(chóng)。批量抓取 QQ 群信息,包括群名稱(chēng)、群號(hào)、群人數(shù)、群主、群簡(jiǎn)介等內(nèi)容,最終生成 XLS(X) / CSV 結(jié)果文件。[10]: https://github/caspartse/QQ-Groups-Spider
wooyun_public[11]-烏云爬蟲(chóng)。 烏云公開(kāi)漏洞、知識(shí)庫(kù)爬蟲(chóng)和搜索。全部公開(kāi)漏洞的列表和每個(gè)漏洞的文本內(nèi)容存在mongodb中,大概約2G內(nèi)容;如果整站爬全部文本和圖片作為離線(xiàn)查詢(xún),大概需要10G空間、2小時(shí)(10M電信帶寬);爬取全部知識(shí)庫(kù),總共約500M空間。漏洞搜索使用了Flask作為web server,bootstrap作為前端。[11]: https://github/hanc00l/wooyun_public
QunarSpider[12]- 去哪兒網(wǎng)爬蟲(chóng)。 網(wǎng)絡(luò)爬蟲(chóng)之Selenium使用代理登陸:爬取去哪兒網(wǎng)站,使用selenium模擬瀏覽器登陸,獲取翻頁(yè)操作。代理可以存入一個(gè)文件,程序讀取并使用。支持多進(jìn)程抓取。[12]: https://github/lining0806/QunarSpider
findtrip[13]- 機(jī)票爬蟲(chóng)(去哪兒和攜程網(wǎng))。Findtrip是一個(gè)基于Scrapy的機(jī)票爬蟲(chóng),目前整合了國(guó)內(nèi)兩大機(jī)票網(wǎng)站(去哪兒 + 攜程)。[13]: https://github/fankcoder/findtrip
163spider[14] - 基于requests、MySQLdb、torndb的網(wǎng)易客戶(hù)端內(nèi)容爬蟲(chóng)。[14]: https://github/leyle/163spider
doubanspiders[15]- 豆瓣電影、書(shū)籍、小組、相冊(cè)、東西等爬蟲(chóng)集。[15]: https://github/dontcontactme/doubanspiders
QQSpider[16]- QQ空間爬蟲(chóng),包括日志、說(shuō)說(shuō)、個(gè)人信息等,一天可抓取 400 萬(wàn)條數(shù)據(jù)。[16]:https://github/LiuXingMing/QQSpider
baidu-music-spider[17]- 百度mp3全站爬蟲(chóng),使用redis支持?jǐn)帱c(diǎn)續(xù)傳。[17]: https://github/Shu-Ji/baidu-music-spider
tbcrawler[18]- 淘寶和天貓的爬蟲(chóng),可以根據(jù)搜索關(guān)鍵詞,物品id來(lái)抓去頁(yè)面的信息,數(shù)據(jù)存儲(chǔ)在mongodb。[18]: https://github/pakoo/tbcrawler
stockholm[19]- 一個(gè)股票數(shù)據(jù)(滬深)爬蟲(chóng)和選股策略測(cè)試框架。根據(jù)選定的日期范圍抓取所有滬深兩市股票的行情數(shù)據(jù)。支持使用表達(dá)式定義選股策略。支持多線(xiàn)程處理。保存數(shù)據(jù)到JSON文件、CSV文件。[19]https://github/benitoro/stockholm
python3網(wǎng)絡(luò)爬蟲(chóng) (6)-分析知乎問(wèn)題頁(yè)面數(shù)據(jù) 流量視頻課程
注:本文只做數(shù)據(jù)來(lái)源分析,暫未抓取數(shù)據(jù)
1. 打開(kāi)知乎頁(yè)面(地址來(lái)自上次爬蟲(chóng)爬取的數(shù)據(jù))
示例: https://zhihu/question/41508191
2. 打開(kāi)可以看到需要抓取的數(shù)據(jù)有(標(biāo)簽、標(biāo)題、描述、答案)
頁(yè)面
3. 查看網(wǎng)頁(yè)請(qǐng)求狀況(由于該問(wèn)題答案較少,暫時(shí)用 https://zhihu/question/65381487 查看接口數(shù)據(jù))
可以發(fā)現(xiàn)答案的接口。(還有相似問(wèn)題和相關(guān)live,暫時(shí)沒(méi)有用到)
查看接口
4. 由于我們請(qǐng)求到的網(wǎng)頁(yè)中的js是不會(huì)執(zhí)行的,所以我們先禁用瀏覽器js(js禁用方法,請(qǐng)自行百度)
禁用js后的頁(yè)面
5. 接口只能看到答案,所以我們還需要在頁(yè)面上找到其他數(shù)據(jù)
經(jīng)過(guò)對(duì)比發(fā)現(xiàn),js執(zhí)行過(guò)的描述是有圖片的,但是js未執(zhí)行的沒(méi)有圖片,描述不夠完整。
但是沒(méi)有描述的請(qǐng)求,所以,猜測(cè)描述被隱藏在了頁(yè)面的其他地方
搜索中的描述部分內(nèi)容,可以發(fā)現(xiàn)確實(shí)被隱藏在了標(biāo)簽中
6. 將描述內(nèi)容格式化
格式化后發(fā)現(xiàn),需要獲取的標(biāo)簽、標(biāo)題、描述等信息均在里面,不用再去網(wǎng)站上查找其他接口
格式化數(shù)據(jù)
喜歡就點(diǎn)個(gè)贊吧!
最全知乎專(zhuān)欄合集:python、爬蟲(chóng)、數(shù)據(jù)分析、挖掘、ML、NLP、DL 公司視頻課程
上一篇文章《爬取11088個(gè)知乎專(zhuān)欄,打破發(fā)現(xiàn)壁壘》里提到,知乎官方?jīng)]有搜素專(zhuān)欄的功能,于是我通過(guò)爬取幾十萬(wàn)用戶(hù)個(gè)人主頁(yè)所專(zhuān)注的專(zhuān)欄從而獲取到11088個(gè)知乎專(zhuān)欄。
本回篩選出其中涉及:編程、python、爬蟲(chóng)、數(shù)據(jù)分析、挖掘、ML、NLP、DL等關(guān)鍵詞的專(zhuān)欄,按照排名、關(guān)注人數(shù)、專(zhuān)欄名稱(chēng)、專(zhuān)欄簡(jiǎn)介等順序,羅列出史上最全專(zhuān)欄合集,以供大家順藤摸瓜、前去觀(guān)摩和學(xué)習(xí)。
篩選出來(lái)的專(zhuān)欄數(shù)據(jù)和全部11088個(gè)專(zhuān)欄數(shù)據(jù),評(píng)論區(qū)有獲取方式。對(duì)其他主題的專(zhuān)欄感興趣的可自行去搜尋,有興致搞出個(gè)“專(zhuān)欄”搜索功能的小伙伴也可以嘗試下!
另外已開(kāi)始對(duì)11088個(gè)專(zhuān)欄里的數(shù)據(jù)進(jìn)行進(jìn)一步爬取,之后會(huì)繼續(xù)相關(guān)分析和資源分享。
TOP29系列,1萬(wàn)+關(guān)注:
No.1, 157960, 數(shù)據(jù)冰山, https://zhuanlan.zhihu/hemingke
(No.2, 112088,學(xué)習(xí)編程,莫道君行早,更有早行人。全心敲代碼,天道自酬勤)(不小心漏了TOP2專(zhuān)欄,簡(jiǎn)直蠢哭)
No.2, 62106, 行為與認(rèn)知神經(jīng)科學(xué), https://zhuanlan.zhihu/ibrain
No.3, 50136, 機(jī)器之心, https://zhuanlan.zhihu/jiqizhixin
No.4, 37234, 企業(yè)分析, https://zhuanlan.zhihu/company-research
No.5, 35642, 挖掘知乎里有趣的東西, https://zhuanlan.zhihu/grapeot
No.6, 34389, 智能單元, https://zhuanlan.zhihu/intelligentunit
No.7, 31283, Python中文社區(qū), https://zhuanlan.zhihu/zimei
No.8, 28949, Python之美, https://zhuanlan.zhihu/python-cn
No.9, 24053, 地圖、地理與區(qū)域, https://zhuanlan.zhihu/geo-space
No.10, 21719, Moneycode, https://zhuanlan.zhihu/ricequant
No.11, 21586, vn.py, https://zhuanlan.zhihu/vn-py
No.12, 21581, 黑客與畫(huà)家, https://zhuanlan.zhihu/hacker-and-painter
No.13, 21522, 面向工資編程, https://zhuanlan.zhihu/auxten
No.14, 21042, 編程語(yǔ)言與高級(jí)語(yǔ)言虛擬機(jī)雜談(仮), https://zhuanlan.zhihu/hllvm
No.15, 18786, 深度學(xué)習(xí)大講堂, https://zhuanlan.zhihu/dlclass
No.16, 17957, BitTiger.io, https://zhuanlan.zhihu/bittiger
No.17, 16257, 一起學(xué)習(xí)python網(wǎng)絡(luò)爬蟲(chóng), https://zhuanlan.zhihu/gooseeker
No.18, 15751, 數(shù)據(jù)分析俠, https://zhuanlan.zhihu/dataman
No.19, 14847, 做游戲,學(xué)編程(C語(yǔ)言), https://zhuanlan.zhihu/c2game
No.20, 14792, 數(shù)據(jù)時(shí)光機(jī), https://zhuanlan.zhihu/washu
No.21, 12908, 不宜公開(kāi), https://zhuanlan.zhihu/xiaoliangshan
No.22, 12606, Jiang的金融窩, https://zhuanlan.zhihu/quantjiang
No.23, 12131, 無(wú)痛的機(jī)器學(xué)習(xí), https://zhuanlan.zhihu/hsmyy
No.24, 11635, 新一線(xiàn)城市研究所, https://zhuanlan.zhihu/therisinglab
No.25, 11629, Crossin的編程教室, https://zhuanlan.zhihu/crossin
No.26, 11012, 一個(gè)數(shù)據(jù)分析師的自我修養(yǎng), https://zhuanlan.zhihu/data-analyst-improvement
No.27, 10932, Hello 陳然!, https://zhuanlan.zhihu/chenran
No.28, 10619, 爬蟲(chóng)之從入門(mén)到精通, https://zhuanlan.zhihu/pachong
No.29, 10254, Data Science with R&Python, https://zhuanlan.zhihu/rdatamining
5千+關(guān)注:
No.30, 9969, 集智, https://zhuanlan.zhihu/c_81843036
No.31, 9127, PRML, https://zhuanlan.zhihu/prml-paper-reading
No.32, 8568, 量化哥, https://zhuanlan.zhihu/uqer2015
No.33, 8515, AI學(xué)人, https://zhuanlan.zhihu/aixueren
No.34, 8114, 數(shù)據(jù)驅(qū)動(dòng)業(yè)務(wù)增長(zhǎng), https://zhuanlan.zhihu/growingio
No.35, 7820, 前端周刊, https://zhuanlan.zhihu/feweekly
No.36, 7790, Analytics at Work, https://zhuanlan.zhihu/analyticsatwork
No.37, 7745, R語(yǔ)言中文社區(qū), https://zhuanlan.zhihu/rshequ
No.38, 6957, Python 與 機(jī)器學(xué)習(xí), https://zhuanlan.zhihu/carefree0910-pyml
No.39, 6944, 超智能體, https://zhuanlan.zhihu/YJango
No.40, 6842, 大數(shù)據(jù)分析挖掘, https://zhuanlan.zhihu/hellobi
No.41, 6823, 技術(shù)備忘錄, https://zhuanlan.zhihu/mathNote
No.42, 6775, Hic Rhodus, hic salta, https://zhuanlan.zhihu/HicRhodushicsalta
No.43, 6753, 機(jī)器學(xué)習(xí)算法與自然語(yǔ)言處理, https://zhuanlan.zhihu/qinlibo-ml
No.44, 6700, 科技蟹, https://zhuanlan.zhihu/kejixie
No.45, 6641, 某熊的全棧之路, https://zhuanlan.zhihu/wxyyxc1992
No.46, 6559, 風(fēng)險(xiǎn)狗的數(shù)據(jù)分析之路, https://zhuanlan.zhihu/loan-analytics
No.47, 6328, Joe's Studio & Cafe, https://zhuanlan.zhihu/hijoe
No.48, 6222, 菜鳥(niǎo)學(xué)數(shù)據(jù)挖掘, https://zhuanlan.zhihu/datanalysis
No.49, 5438, Python之禪, https://zhuanlan.zhihu/pythoneer
No.50, 5391, 混沌巡洋艦, https://zhuanlan.zhihu/c_29122335
No.51, 5241, R語(yǔ)言數(shù)據(jù)分析與可視化, https://zhuanlan.zhihu/EasyCharts-R
No.52, 5224, 數(shù)據(jù)分析網(wǎng), https://zhuanlan.zhihu/afenxi
No.53, 5218, Python高薪訓(xùn)練營(yíng), https://zhuanlan.zhihu/c_111369541
No.54, 5171, 福山·雅·致, https://zhuanlan.zhihu/heziyin
No.55, 5100, 曉雷機(jī)器學(xué)習(xí)筆記, https://zhuanlan.zhihu/xiaoleimlnote
No.56, 5072, AI Insight, https://zhuanlan.zhihu/ai-insight
No.57, 5064, PYTHON挖掘機(jī), https://zhuanlan.zhihu/python-excavator
No.58, 5051, Hello, Flask!, https://zhuanlan.zhihu/flask
1千+關(guān)注:
No.59, 4882, 機(jī)器學(xué)習(xí) & 金融量化分析, https://zhuanlan.zhihu/jjscience
No.60, 4754, 自學(xué)游戲開(kāi)發(fā), https://zhuanlan.zhihu/studygame
No.61, 4674, 前端之巔, https://zhuanlan.zhihu/qianduanzhidian
No.62, 4609, 集智·人工智能招聘, https://zhuanlan.zhihu/qiuneitui
No.63, 4600, Python爬蟲(chóng)實(shí)戰(zhàn), https://zhuanlan.zhihu/pythoncrawl
No.64, 4566, Python Hacker, https://zhuanlan.zhihu/python-hacker
No.65, 4494, 煉丹實(shí)驗(yàn)室, https://zhuanlan.zhihu/easyml
No.66, 4445, LeanReact, https://zhuanlan.zhihu/leanreact
No.67, 4410, 深度煉丹, https://zhuanlan.zhihu/c_94953554
No.68, 4217, 簡(jiǎn)快Excel之PowerBI建模分析, https://zhuanlan.zhihu/leigongzi
No.69, 4132, [運(yùn)籌帷幄]大數(shù)據(jù)和人工智能時(shí)代下的運(yùn)籌學(xué), https://zhuanlan.zhihu/operations-research
No.70, 4067, 深度學(xué)習(xí):從入門(mén)到放棄, https://zhuanlan.zhihu/startdl
No.71, 4001, 天善智能, https://zhuanlan.zhihu/tianshansoft
No.72, 3937, 數(shù)據(jù)化管理, https://zhuanlan.zhihu/dataware
No.73, 3934, 開(kāi)始學(xué)習(xí)機(jī)器人, https://zhuanlan.zhihu/learn-robotics
No.74, 3886, 強(qiáng)化學(xué)習(xí)知識(shí)大講堂, https://zhuanlan.zhihu/sharerl
No.75, 3796, 淺墨的游戲編程, https://zhuanlan.zhihu/game-programming
No.76, 3747, 莫煩, https://zhuanlan.zhihu/morvan
No.77, 3745, 高中文綜實(shí)驗(yàn)室, https://zhuanlan.zhihu/liberart-Lab
No.78, 3738, Data Science, https://zhuanlan.zhihu/gongwenjia
No.79, 3685, 建筑可視化設(shè)計(jì), https://zhuanlan.zhihu/uzing
No.80, 3673, MySQL, https://zhuanlan.zhihu/mysql
No.81, 3599, 備戰(zhàn)考研, https://zhuanlan.zhihu/SunLifeDreamer
No.82, 3590, Python程序員, https://zhuanlan.zhihu/pythoncxy
No.83, 3575, 從零開(kāi)始寫(xiě)Python爬蟲(chóng), https://zhuanlan.zhihu/Ehco-python
No.84, 3564, 靈的隨筆記, https://zhuanlan.zhihu/ZeitMark
No.85, 3532, 萌新的學(xué)習(xí)日記, https://zhuanlan.zhihu/linjichu
No.86, 3526, 李彬教你考注會(huì), https://zhuanlan.zhihu/c_77735210
No.87, 3517, 鋼筆愛(ài)好者, https://zhuanlan.zhihu/v2bber
No.88, 3449, 管中窺豹, https://zhuanlan.zhihu/whiteheart
No.89, 3402, 智能水桶, https://zhuanlan.zhihu/smartspew
No.90, 3399, 數(shù)據(jù)是個(gè)錘子, https://zhuanlan.zhihu/datahammer
No.91, 3346, Python學(xué)習(xí)之路, https://zhuanlan.zhihu/python-kivy
No.92, 3302, 數(shù)據(jù)分析師的成長(zhǎng)之路, https://zhuanlan.zhihu/datamap
No.93, 3221, Runtime, https://zhuanlan.zhihu/chenjiadong
No.94, 3220, 點(diǎn)點(diǎn)墨, https://zhuanlan.zhihu/junmo520
No.95, 3202, TOMsInsight, https://zhuanlan.zhihu/tomsinsight
No.96, 3170, 什么值得爬, https://zhuanlan.zhihu/c_80099524
No.97, 3118, 半個(gè)量化交易員, https://zhuanlan.zhihu/semi-quant-trader
No.98, 3104, 日積跬步, https://zhuanlan.zhihu/improve365
No.99, 3102, gluon, https://zhuanlan.zhihu/gluon
No.100, 3071, 蛇之魅惑, https://zhuanlan.zhihu/python-dev
No.101, 3058, Linux, https://zhuanlan.zhihu/LearningLinux
No.102, 3050, 馬志峰的編程筆記, https://zhuanlan.zhihu/mazhifeng
No.103, 3036, DT新紀(jì)元, https://zhuanlan.zhihu/dteratech
No.104, 3012, 原點(diǎn)實(shí)驗(yàn)室, https://zhuanlan.zhihu/cndatalab
No.105, 2912, 分布式筆記, https://zhuanlan.zhihu/b-tree
No.106, 2876, 2gua的編程生活, https://zhuanlan.zhihu/guagua
No.107, 2827, 寫(xiě)點(diǎn)Python, https://zhuanlan.zhihu/something-python
No.108, 2811, 撩撩數(shù)據(jù)吧, https://zhuanlan.zhihu/jiago
No.109, 2805, 非凸優(yōu)化學(xué)習(xí)之路, https://zhuanlan.zhihu/optimization
No.110, 2786, Revit 專(zhuān)欄, https://zhuanlan.zhihu/RevitForum
No.111, 2755, VV Data Science, https://zhuanlan.zhihu/vieplivee
No.112, 2740, DαΓαSciεηce, https://zhuanlan.zhihu/datascience
No.113, 2700, 友盟專(zhuān)欄, https://zhuanlan.zhihu/umeng
No.114, 2685, 無(wú)人機(jī)日常, https://zhuanlan.zhihu/uavsdaily
No.115, 2668, 有意思的數(shù)據(jù)挖掘, https://zhuanlan.zhihu/data-mining
No.116, 2668, DT財(cái)經(jīng), https://zhuanlan.zhihu/dtcaijing
No.117, 2654, 人工智能學(xué)習(xí)筆記, https://zhuanlan.zhihu/c_80412427
No.118, 2553, Still的數(shù)據(jù)分析筆記, https://zhuanlan.zhihu/DataScientist
No.119, 2548, 人工智能應(yīng)用系列, https://zhuanlan.zhihu/ai4application
No.120, 2464, 清雨的 Data Science 筆記, https://zhuanlan.zhihu/TsingJyuData
No.121, 2396, 帆軟數(shù)據(jù)應(yīng)用研究院, https://zhuanlan.zhihu/fanruan
No.122, 2383, 數(shù)據(jù)黑板, https://zhuanlan.zhihu/data-factory
No.123, 2299, 諸葛io, https://zhuanlan.zhihu/zhugeio
No.124, 2255, golang數(shù)據(jù)結(jié)構(gòu)內(nèi)部實(shí)現(xiàn), https://zhuanlan.zhihu/goroutine
No.125, 2236, 數(shù)據(jù)可視化, https://zhuanlan.zhihu/datavis
No.126, 2206, Python高手之路, https://zhuanlan.zhihu/mingxinglai
No.127, 2181, Excel圖表之道, https://zhuanlan.zhihu/ExcelPro
No.128, 2162, 設(shè)計(jì)與人工智能, https://zhuanlan.zhihu/designintelligence
No.129, 2157, 機(jī)器人開(kāi)發(fā)的那些事, https://zhuanlan.zhihu/c_32667517
No.130, 2145, 不動(dòng)點(diǎn)高?,F(xiàn)充部, https://zhuanlan.zhihu/fixpoint-high-school
No.131, 2144, Swift, https://zhuanlan.zhihu/swift
No.132, 2132, 大數(shù)據(jù)技術(shù)與實(shí)踐, https://zhuanlan.zhihu/hadoop
No.133, 2121, 繆斯夫人, https://zhuanlan.zhihu/msmueses
No.134, 2120, 小X的互聯(lián)網(wǎng)投資, https://zhuanlan.zhihu/thanksalot
No.135, 2108, 計(jì)算主義, https://zhuanlan.zhihu/pillgrim
No.136, 2080, 深海遨游, https://zhuanlan.zhihu/deeplearning-surfing
No.137, 2032, 我的JA♂VA日記, https://zhuanlan.zhihu/JAVAShinNippori
No.138, 2022, Python庫(kù)學(xué)習(xí)之路, https://zhuanlan.zhihu/pystudy
No.139, 2005, 人工智能+機(jī)器學(xué)習(xí)+深度學(xué)習(xí)技術(shù)文章精選, https://zhuanlan.zhihu/c_86691882
No.140, 1990, 邊城的編程, https://zhuanlan.zhihu/cold-code
No.141, 1987, 寫(xiě)給妹子的深度學(xué)習(xí)教程, https://zhuanlan.zhihu/dlgirls
No.142, 1942, 機(jī)器有顆玻璃心, https://zhuanlan.zhihu/wjdml
No.143, 1936, 信號(hào)處理與機(jī)器學(xué)習(xí), https://zhuanlan.zhihu/aresmiki
No.144, 1933, 中低頻量化交易與AI, https://zhuanlan.zhihu/quantwithAI
No.145, 1894, 文因互聯(lián), https://zhuanlan.zhihu/c_45652868
No.146, 1889, 文藝碼農(nóng)之家, https://zhuanlan.zhihu/elegant
No.147, 1859, 一圖一書(shū), https://zhuanlan.zhihu/yituyishu
No.148, 1858, 一周一paper, https://zhuanlan.zhihu/one-paper-a-week
No.149, 1845, Python 爬蟲(chóng)實(shí)戰(zhàn)日記, https://zhuanlan.zhihu/Waking-up
No.150, 1838, 片上神經(jīng)網(wǎng)絡(luò), https://zhuanlan.zhihu/DNN-on-Chip
No.151, 1832, Take AI Seriously, https://zhuanlan.zhihu/aifirst
No.152, 1798, Python開(kāi)發(fā)微信公眾號(hào), https://zhuanlan.zhihu/sufaith
No.153, 1725, excel講堂, https://zhuanlan.zhihu/excelskills
No.154, 1721, 販賣(mài)集裝箱的汽車(chē)大師, https://zhuanlan.zhihu/cantonax
No.155, 1719, 面試常見(jiàn)算法80題, https://zhuanlan.zhihu/80algorithms
No.156, 1703, 理論與機(jī)器學(xué)習(xí), https://zhuanlan.zhihu/theoretical-machine-learning
No.157, 1703, 無(wú)線(xiàn)技術(shù)大講堂, https://zhuanlan.zhihu/dot11
No.158, 1688, 網(wǎng)絡(luò)高并發(fā)編程, https://zhuanlan.zhihu/yedongfu
No.159, 1658, Python數(shù)據(jù)采集處理分析挖掘可視化應(yīng)用實(shí)例, https://zhuanlan.zhihu/boken
No.160, 1655, Scratch編程, https://zhuanlan.zhihu/scratch
No.161, 1642, 小石頭的碼瘋窩, https://zhuanlan.zhihu/burness-DL
No.162, 1620, 「數(shù)據(jù)科學(xué)」思維導(dǎo)圖筆記, https://zhuanlan.zhihu/woaielf
No.163, 1614, 機(jī)器人的那些事, https://zhuanlan.zhihu/cobot
No.164, 1592, 數(shù)據(jù)結(jié)構(gòu)與算法, https://zhuanlan.zhihu/DataStructureAndAlgorithm
No.165, 1588, 紐扣數(shù)據(jù), https://zhuanlan.zhihu/niucodata
No.166, 1586, AI+設(shè)計(jì), https://zhuanlan.zhihu/AIdesign
No.167, 1572, 我的java學(xué)習(xí)之路及習(xí)慣, https://zhuanlan.zhihu/c_120823325
No.168, 1564, 杠桿游戲, https://zhuanlan.zhihu/gangganyouxi
No.169, 1559, 飛總的IT世界面面觀(guān), https://zhuanlan.zhihu/feizong
No.170, 1554, 數(shù)據(jù)應(yīng)用學(xué)院, https://zhuanlan.zhihu/c_60877174
No.171, 1548, 上善若水——游戲公司財(cái)務(wù)檔案, https://zhuanlan.zhihu/hai1900
No.172, 1536, xTechDay, https://zhuanlan.zhihu/xTechDay
No.173, 1478, 簡(jiǎn)單易懂的Python, https://zhuanlan.zhihu/easypython
No.174, 1471, 機(jī)器不學(xué)習(xí), https://zhuanlan.zhihu/zhaoyeyu
No.175, 1429, 神經(jīng)網(wǎng)絡(luò)與強(qiáng)化學(xué)習(xí), https://zhuanlan.zhihu/c_101836530
No.176, 1424, DL(Deep Learning)小記, https://zhuanlan.zhihu/Charles-Wang
No.177, 1413, 娛樂(lè)硬糖, https://zhuanlan.zhihu/yuleyingtang
No.178, 1401, 數(shù)據(jù)科學(xué)沉思錄, https://zhuanlan.zhihu/data-science-meditation
No.179, 1395, 前端小記, https://zhuanlan.zhihu/qianduan
No.180, 1386, 高斯世界下的Machine Learning, https://zhuanlan.zhihu/gpml2016
No.181, 1368, 聲學(xué)與人工智能, https://zhuanlan.zhihu/chenxl
No.182, 1362, 機(jī)器鼓勵(lì)師手冊(cè), https://zhuanlan.zhihu/Stark
No.183, 1361, Udacity | 優(yōu)達(dá)學(xué)習(xí)筆記, https://zhuanlan.zhihu/youdanote
No.184, 1361, 諸事無(wú)常,唯死亡與稅永恒, https://zhuanlan.zhihu/c_86275978
No.185, 1348, 山人.七-深度學(xué)習(xí), https://zhuanlan.zhihu/shanren7
No.186, 1338, 大數(shù)據(jù)Spark, https://zhuanlan.zhihu/bigdata-spark...
基于python的知乎開(kāi)源爬蟲(chóng) zhihu 互聯(lián)網(wǎng)視頻課程
今天在無(wú)意之中發(fā)現(xiàn)了一個(gè)知乎的開(kāi)源爬蟲(chóng),是基于Python的,名字叫zhihu_oauth,看了一下在github上面star數(shù)還挺多的,貌似文檔也挺詳細(xì)的,于是就稍微研究了一下。發(fā)現(xiàn)果然很好用啊。就在這里給大家介紹一下如何使用。
項(xiàng)目的主頁(yè)地址在:https://github/7sDream/zhihu-oauth。作者的知乎主頁(yè)為:https://zhihu/people/7sdream/。
項(xiàng)目的文檔地址為:http://zhihu-oauth.readthedocs.io/zh_CN/latest/index.html 。講道理,原作者對(duì)于該怎么使用這個(gè)庫(kù)已經(jīng)講的非常詳細(xì)了,我在這里再重復(fù)一遍簡(jiǎn)直就是畫(huà)蛇添足。所以大家要是想詳細(xì)了解這個(gè)庫(kù)怎么用,就去官方文檔吧。我只說(shuō)一下我覺(jué)得需要補(bǔ)充的重要的幾點(diǎn)。
首先是安裝。作者已經(jīng)將項(xiàng)目上傳到pypi了,所以我們可以直接使用pip進(jìn)行安裝了。按照作者的說(shuō)法,項(xiàng)目對(duì)于Python3的支持更好,淡然目前也是兼容Python2的,所以大家最好使用python3.直接 pip3 install -U zhihu_oauth 即可安裝。
安裝好了第一步就是登陸。直接使用下面的代碼就可以登陸。1 from zhihu_oauth import ZhihuClient 2 from zhihu_oauth.exception import NeedCaptchaException 3 client = ZhihuClient 4 user = 'email_or_phone' 5 pwd = 'password' 6 try: 7 client.login(user, pwd) 8 print(u"登陸成功!") 9 except NeedCaptchaException: # 處理要驗(yàn)證碼的情況 10 # 保存驗(yàn)證碼并提示輸入,重新登錄 11 with open('a.gif', 'wb') as f: 12 f.write(client.get_captcha) 13 captcha = input('please input captcha:') 14 client.login('email_or_phone', 'password', captcha) 15 16 client.save_token('token.pkl') # 保存token 17 #有了token之后,下次登錄就可以直接加載token文件了 18 # client.load_token('filename')
上面的代碼是直接使用賬號(hào)密碼登陸,最后保存了登陸之后的token,在下次登錄的時(shí)候我們就可以直接使用token登錄而不用每次都輸入密碼了。
在登錄完成之后,可以干的事情當(dāng)然就很多了,比如下面的代碼就可以獲得自己的知乎賬戶(hù)的基本信息1 from __future__ import print_function # 使用python3的print方法 2 from zhihu_oauth import ZhihuClient 3 4 client = ZhihuClient 5 client.load_token('token.pkl') # 加載token文件 6 # 顯示自己的相關(guān)信息 7 me = client.me 8 9 # 獲取最近 5 個(gè)回答 10 for _, answer in zip(range(5), me.answers): 11 print(answer.question.title, answer.voteup_count) 12 13 print('----------') 14 15 # 獲取點(diǎn)贊量最高的 5 個(gè)回答 16 for _, answer in zip(range(5), me.answers.order_by('votenum')): 17 print(answer.question.title, answer.voteup_count) 18 19 print('----------') 20 21 # 獲取最近提的 5 個(gè)問(wèn)題 22 for _, question in zip(range(5), me.questions): 23 print(question.title, question.answer_count) 24 25 print('----------') 26 27 # 獲取最近發(fā)表的 5 個(gè)文章 28 for _, article in zip(range(5), me.articles): 29 print(article.title, article.voteup_count)
當(dāng)然可以干的事情還遠(yuǎn)遠(yuǎn)不止這些,比如我們知道了某個(gè)問(wèn)題的url地址或者問(wèn)題id,就可以獲得這個(gè)問(wèn)題下有多少個(gè)回答,作者的信息等等一系列詳細(xì)的信息。開(kāi)發(fā)者想的真的挺周到的,一般常見(jiàn)的需要的信息基本全部都包括了。具體的代碼我就不貼了,大家自行參考官方文檔。
一個(gè)小的tips:由于這個(gè)庫(kù)有好多個(gè)類(lèi),比如獲得作者信息的類(lèi),獲得文章信息的類(lèi)等等。每個(gè)類(lèi)都有非常多的方法,我去看了一下官方文檔,作者有些類(lèi)的屬性就沒(méi)有完全列出來(lái),那么我們?cè)趺床榭催@個(gè)類(lèi)全部的屬性呢?其實(shí)很簡(jiǎn)單,只需要使用python的dir函數(shù)就可以了,使用dir(object)可以查看object類(lèi)(或?qū)ο螅┑娜繉傩?。比如我們有一個(gè)answer類(lèi)對(duì)象,使用dir(answer)就會(huì)返回answer對(duì)象所有屬性的列表。除去默認(rèn)的一些屬性之外,我們就可以找到這個(gè)類(lèi)的我們需要的屬性了,很方便吧。(下面是collection即收藏夾類(lèi)的全部屬性)
['__class__', '__delattr__', '__dict__', '__doc__', '__format__', '__getattribute__', '__hash__', '__init__', '__module__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', '_build_data', '_build_params', '_build_url', '_cache', '_data', '_get_data', '_id', '_method', '_refresh_times', '_session', 'answer_count', 'answers', 'articles', 'comment_count', 'comments', 'contents', 'created_time', 'creator', 'description', 'follower_count', 'followers', 'id', 'is_public', 'pure_data', 'refresh', 'title', 'updated_time']
最后,我使用這個(gè)類(lèi),抓取了知乎某個(gè)問(wèn)題下所有回答中的圖片(抓美女圖,哈哈哈哈),只用了不到30行代碼(去掉注釋?zhuān)?。分享給大家。1 #!/usr/bin/env python 2 # -*- coding: utf-8 -*- 3 # @Time : 2017/5/3 14:27 4 # @Author : Lyrichu 5 # @Email : 919987476@qq 6 # @File : save_images.py 7 ''' 8 @Description:保存知乎某個(gè)問(wèn)題下所有答案的圖片 9 ''' 10 from __future__ import print_function # 使用python3的print方法 11 from zhihu_oauth import ZhihuClient 12 import re 13 import os 14 import urllib 15 16 client = ZhihuClient 17 # 登錄 18 client.load_token('token.pkl') # 加載token文件 19 id = 24400664 # https://zhihu/question/24400664(長(zhǎng)得好看是一種怎么樣的體驗(yàn)) 20 question = client.question(id) 21 print(u"問(wèn)題:",question.title) 22 print(u"回答數(shù)量:",question.answer_count) 23 # 建立存放圖片的文件夾 24 os.mkdir(question.title + u"(圖片)") 25 path = question.title + u"(圖片)" 26 index = 1 # 圖片序號(hào) 27 for answer in question.answers: 28 content = answer.content # 回答內(nèi)容 29 re_compile = repile(r'') 30 img_lists = re.findall(re_compile,content) 31 if(img_lists): 32 for img in img_lists: 33 img_url = img[0] # 圖片url 34 urllib.urlretrieve(img_url,path+u"/%d.jpg" % index) 35 print(u"成功保存第%d張圖片" % index) 36 index += 1
如果要是自己寫(xiě)的話(huà),直接抓取解析網(wǎng)頁(yè)是無(wú)法獲得全部回答的,所以只能去破解知乎的api,比較麻煩,使用這個(gè)現(xiàn)成的輪子就方便很多了。以后想慢慢欣賞知乎的美女就再也不用發(fā)愁啦,嘿嘿嘿。
Python模擬登錄知乎!你可能見(jiàn)過(guò)很多教程!這篇是史上最詳細(xì)的! 營(yíng)銷(xiāo)視頻課程
前言
前天看到一個(gè)爬取了知乎50多萬(wàn)評(píng)論的帖子, 羨慕的同時(shí)也想自己來(lái)嘗試一下??纯茨懿荒塬@取一些有價(jià)值的信息。
這就是referer起到的作用,服務(wù)器在接收到一個(gè)請(qǐng)求的時(shí)候先判斷Referer是否為本站的地址。如果是的話(huà)就返回正確的資源;如果不是,就返回給客戶(hù)端預(yù)先準(zhǔn)備好的“警示”資源。
如果網(wǎng)站僅僅做到了這一步,而你的程序又恰好添加了User-Agent,基本上就可以順利的蒙混過(guò)關(guān)了。
隱藏域
很多時(shí)候,我們模擬登錄的時(shí)候需要提交的數(shù)據(jù)并不僅僅是用戶(hù)名密碼,還有一些隱藏域的數(shù)據(jù)。比如拿咱們CSDN來(lái)說(shuō),查看登錄頁(yè)
模擬登錄
在正式的模擬登錄知乎之前,我先來(lái)寫(xiě)個(gè)簡(jiǎn)單的小例子來(lái)加深一下印象。
瀏覽器測(cè)試
正常提交用戶(hù)名密碼的話(huà)如下:
我們不難發(fā)現(xiàn),服務(wù)器端和客戶(hù)端使用了相同的計(jì)算規(guī)則,這樣的話(huà)我們就可以實(shí)現(xiàn)對(duì)客戶(hù)端的登錄請(qǐng)求進(jìn)行一次簡(jiǎn)答的甄選了。正常的瀏覽器請(qǐng)求都是沒(méi)有問(wèn)題的。
用戶(hù)名或者密碼填寫(xiě)錯(cuò)誤的情況如下:
運(yùn)行的結(jié)果如下:
因?yàn)槲覀儭辈恢馈狈?wù)器端是怎么對(duì)token處理的具體的邏輯。所以還是需要從客戶(hù)端的網(wǎng)頁(yè)下手。
且看下面的圖片。
注意:這里僅僅是為了演示的方便,采用了對(duì)username字段失去焦點(diǎn)時(shí)計(jì)算token。實(shí)際上在網(wǎng)頁(yè)被拉取到客戶(hù)端瀏覽器的時(shí)候, 服務(wù)器會(huì)事先計(jì)算好token的值,并賦予到token字段的。所以大可不必計(jì)較這里的實(shí)現(xiàn)。
Python代碼
實(shí)現(xiàn)效果如下:
實(shí)現(xiàn)的效果如下
更新版知乎模擬登陸
代碼部分
驗(yàn)證效果
謝謝閱讀,希望你能學(xué)會(huì)哦!
如何抓取這些網(wǎng)站數(shù)據(jù)?python源碼大全,包括微信,知乎。QQ,豆瓣,天貓京東等 推廣視頻課程
WechatSogou[1]- 微信公眾號(hào)爬蟲(chóng)?;谒压肺⑿潘阉鞯奈⑿殴娞?hào)爬蟲(chóng)接口,可以擴(kuò)展成基于搜狗搜索的爬蟲(chóng),返回結(jié)果是列表,每一項(xiàng)均是公眾號(hào)具體信息字典。[1]: https://github/Chyroc/WechatSogou
DouBanSpider[2]- 豆瓣讀書(shū)爬蟲(chóng)??梢耘老露拱曜x書(shū)標(biāo)簽下的所有圖書(shū),按評(píng)分排名依次存儲(chǔ),存儲(chǔ)到Excel中,可方便大家篩選搜羅,比如篩選評(píng)價(jià)人數(shù)>1000的高分書(shū)籍;可依據(jù)不同的主題存儲(chǔ)到Excel不同的Sheet ,采用User Agent偽裝為瀏覽器進(jìn)行爬取,并加入隨機(jī)延時(shí)來(lái)更好的模仿瀏覽器行為,避免爬蟲(chóng)被封。[2]: https://github/lanbing510/DouBanSpider
zhihu_spider[3]- 知乎爬蟲(chóng)。此項(xiàng)目的功能是爬取知乎用戶(hù)信息以及人際拓?fù)潢P(guān)系,爬蟲(chóng)框架使用scrapy,數(shù)據(jù)存儲(chǔ)使用mongodb。[3]: https://github/LiuRoy/zhihu_spider
bilibili-user[4]- Bilibili用戶(hù)爬蟲(chóng)。總數(shù)據(jù)數(shù):20119918,抓取字段:用戶(hù)id,昵稱(chēng),性別,頭像,等級(jí),經(jīng)驗(yàn)值,粉絲數(shù),生日,地址,注冊(cè)時(shí)間,簽名,等級(jí)與經(jīng)驗(yàn)值等。抓取之后生成B站用戶(hù)數(shù)據(jù)報(bào)告。[4]: https://github/airingursb/bilibili-user
SinaSpider[5]- 新浪微博爬蟲(chóng)。主要爬取新浪微博用戶(hù)的個(gè)人信息、微博信息、粉絲和關(guān)注。代碼獲取新浪微博Cookie進(jìn)行登錄,可通過(guò)多賬號(hào)登錄來(lái)防止新浪的反扒。主要使用 scrapy 爬蟲(chóng)框架。[5]: https://github/LiuXingMing/SinaSpider
distribute_crawler[6]- 小說(shuō)下載分布式爬蟲(chóng)。使用scrapy,redis, mongodb,graphite實(shí)現(xiàn)的一個(gè)分布式網(wǎng)絡(luò)爬蟲(chóng),底層存儲(chǔ)mongodb集群,分布式使用redis實(shí)現(xiàn),爬蟲(chóng)狀態(tài)顯示使用graphite實(shí)現(xiàn),主要針對(duì)一個(gè)小說(shuō)站點(diǎn)。[6]: https://github/gnemoug/distribute_crawler
CnkiSpider[7]- 中國(guó)知網(wǎng)爬蟲(chóng)。設(shè)置檢索條件后,執(zhí)行src/CnkiSpider.py抓取數(shù)據(jù),抓取數(shù)據(jù)存儲(chǔ)在/data目錄下,每個(gè)數(shù)據(jù)文件的第一行為字段名稱(chēng)。[7]: https://github/yanzhou/CnkiSpider
LianJiaSpider[8]- 鏈家網(wǎng)爬蟲(chóng)。爬取北京地區(qū)鏈家歷年二手房成交記錄。涵蓋鏈家爬蟲(chóng)一文的全部代碼,包括鏈家模擬登錄代碼。[8]: https://github/lanbing510/LianJiaSpider
scrapy_jingdong[9]- 京東爬蟲(chóng)?;趕crapy的京東網(wǎng)站爬蟲(chóng),保存格式為csv。[9]: https://github/taizilongxu/scrapy_jingdong
QQ-Groups-Spider[10]- QQ 群爬蟲(chóng)。批量抓取 QQ 群信息,包括群名稱(chēng)、群號(hào)、群人數(shù)、群主、群簡(jiǎn)介等內(nèi)容,最終生成 XLS(X) / CSV 結(jié)果文件。[10]: https://github/caspartse/QQ-Groups-Spider
wooyun_public[11]-烏云爬蟲(chóng)。 烏云公開(kāi)漏洞、知識(shí)庫(kù)爬蟲(chóng)和搜索。全部公開(kāi)漏洞的列表和每個(gè)漏洞的文本內(nèi)容存在mongodb中,大概約2G內(nèi)容;如果整站爬全部文本和圖片作為離線(xiàn)查詢(xún),大概需要10G空間、2小時(shí)(10M電信帶寬);爬取全部知識(shí)庫(kù),總共約500M空間。漏洞搜索使用了Flask作為web server,bootstrap作為前端。[11]: https://github/hanc00l/wooyun_public
QunarSpider[12]- 去哪兒網(wǎng)爬蟲(chóng)。 網(wǎng)絡(luò)爬蟲(chóng)之Selenium使用代理登陸:爬取去哪兒網(wǎng)站,使用selenium模擬瀏覽器登陸,獲取翻頁(yè)操作。代理可以存入一個(gè)文件,程序讀取并使用。支持多進(jìn)程抓取。[12]: https://github/lining0806/QunarSpider
findtrip[13]- 機(jī)票爬蟲(chóng)(去哪兒和攜程網(wǎng))。Findtrip是一個(gè)基于Scrapy的機(jī)票爬蟲(chóng),目前整合了國(guó)內(nèi)兩大機(jī)票網(wǎng)站(去哪兒 + 攜程)。[13]: https://github/fankcoder/findtrip
163spider[14] - 基于requests、MySQLdb、torndb的網(wǎng)易客戶(hù)端內(nèi)容爬蟲(chóng)。[14]: https://github/leyle/163spider
doubanspiders[15]- 豆瓣電影、書(shū)籍、小組、相冊(cè)、東西等爬蟲(chóng)集。[15]: https://github/dontcontactme/doubanspiders
QQSpider[16]- QQ空間爬蟲(chóng),包括日志、說(shuō)說(shuō)、個(gè)人信息等,一天可抓取 400 萬(wàn)條數(shù)據(jù)。[16]:https://github/LiuXingMing/QQSpider
baidu-music-spider[17]- 百度mp3全站爬蟲(chóng),使用redis支持?jǐn)帱c(diǎn)續(xù)傳。[17]: https://github/Shu-Ji/baidu-music-spider
tbcrawler[18]- 淘寶和天貓的爬蟲(chóng),可以根據(jù)搜索關(guān)鍵詞,物品id來(lái)抓去頁(yè)面的信息,數(shù)據(jù)存儲(chǔ)在mongodb。[18]: https://github/pakoo/tbcrawler
stockholm[19]- 一個(gè)股票數(shù)據(jù)(滬深)爬蟲(chóng)和選股策略測(cè)試框架。根據(jù)選定的日期范圍抓取所有滬深兩市股票的行情數(shù)據(jù)。支持使用表達(dá)式定義選股策略。支持多線(xiàn)程處理。保存數(shù)據(jù)到JSON文件、CSV文件。[19]https://github/benitoro/stockholm
Python模擬登錄知乎!你可能見(jiàn)過(guò)很多教程!這篇是史上最詳細(xì)的! 營(yíng)銷(xiāo)視頻課程
前言
前天看到一個(gè)爬取了知乎50多萬(wàn)評(píng)論的帖子, 羨慕的同時(shí)也想自己來(lái)嘗試一下??纯茨懿荒塬@取一些有價(jià)值的信息。
這就是referer起到的作用,服務(wù)器在接收到一個(gè)請(qǐng)求的時(shí)候先判斷Referer是否為本站的地址。如果是的話(huà)就返回正確的資源;如果不是,就返回給客戶(hù)端預(yù)先準(zhǔn)備好的“警示”資源。
如果網(wǎng)站僅僅做到了這一步,而你的程序又恰好添加了User-Agent,基本上就可以順利的蒙混過(guò)關(guān)了。
隱藏域
很多時(shí)候,我們模擬登錄的時(shí)候需要提交的數(shù)據(jù)并不僅僅是用戶(hù)名密碼,還有一些隱藏域的數(shù)據(jù)。比如拿咱們CSDN來(lái)說(shuō),查看登錄頁(yè)
模擬登錄
在正式的模擬登錄知乎之前,我先來(lái)寫(xiě)個(gè)簡(jiǎn)單的小例子來(lái)加深一下印象。
瀏覽器測(cè)試
正常提交用戶(hù)名密碼的話(huà)如下:
我們不難發(fā)現(xiàn),服務(wù)器端和客戶(hù)端使用了相同的計(jì)算規(guī)則,這樣的話(huà)我們就可以實(shí)現(xiàn)對(duì)客戶(hù)端的登錄請(qǐng)求進(jìn)行一次簡(jiǎn)答的甄選了。正常的瀏覽器請(qǐng)求都是沒(méi)有問(wèn)題的。
用戶(hù)名或者密碼填寫(xiě)錯(cuò)誤的情況如下:
運(yùn)行的結(jié)果如下:
因?yàn)槲覀儭辈恢馈狈?wù)器端是怎么對(duì)token處理的具體的邏輯。所以還是需要從客戶(hù)端的網(wǎng)頁(yè)下手。
且看下面的圖片。
注意:這里僅僅是為了演示的方便,采用了對(duì)username字段失去焦點(diǎn)時(shí)計(jì)算token。實(shí)際上在網(wǎng)頁(yè)被拉取到客戶(hù)端瀏覽器的時(shí)候, 服務(wù)器會(huì)事先計(jì)算好token的值,并賦予到token字段的。所以大可不必計(jì)較這里的實(shí)現(xiàn)。
Python代碼
實(shí)現(xiàn)效果如下:
實(shí)現(xiàn)的效果如下
更新版知乎模擬登陸
代碼部分
驗(yàn)證效果
謝謝閱讀,希望你能學(xué)會(huì)哦!