零基礎(chǔ)寫(xiě)Java知乎爬蟲(chóng)之準(zhǔn)備工作
開(kāi)篇我們還是和原來(lái)一樣,講一講做爬蟲(chóng)的思路以及需要準(zhǔn)備的知識(shí)吧,高手們請(qǐng)直接忽略。
首先我們來(lái)縷一縷思緒,想想到底要做什么,列個(gè)簡(jiǎn)單的需求。
需求如下:
1.模擬訪問(wèn)知乎官網(wǎng)(http://www.zhihu.com/)
2.下載指定的頁(yè)面內(nèi)容,包括:今日最熱,本月最熱,編輯推薦
3.下載指定分類(lèi)中的所有問(wèn)答,比如:投資,編程,掛科
4.下載指定回答者的所有回答
5.最好有個(gè)一鍵點(diǎn)贊的變態(tài)功能(這樣我就可以一下子給雷倫的所有回答都點(diǎn)贊了我真是太機(jī)智了?。?/p>
那么需要解決的技術(shù)問(wèn)題簡(jiǎn)單羅列如下:
1.模擬瀏覽器訪問(wèn)網(wǎng)頁(yè)
2.抓取關(guān)鍵數(shù)據(jù)并保存到本地
3.解決網(wǎng)頁(yè)瀏覽中的動(dòng)態(tài)加載問(wèn)題
4.使用樹(shù)狀結(jié)構(gòu)海量抓取知乎的所有內(nèi)容
好的,目前就想了這些。
接下來(lái)就是準(zhǔn)備工作了。
1.確定爬蟲(chóng)語(yǔ)言:由于以前寫(xiě)過(guò)一系列爬蟲(chóng)教程(點(diǎn)擊這里),百度貼吧,糗事百科,山東大學(xué)的績(jī)點(diǎn)查詢等都是用python寫(xiě)的,所以這次決定使用Java來(lái)寫(xiě)(喂完全沒(méi)有半毛錢(qián)聯(lián)系好嗎)。
2.科普爬蟲(chóng)知識(shí):網(wǎng)絡(luò)爬蟲(chóng),即Web Spider,是一個(gè)很形象的名字。把互聯(lián)網(wǎng)比喻成一個(gè)蜘蛛網(wǎng),那么Spider就是在網(wǎng)上爬來(lái)爬去的蜘蛛。網(wǎng)絡(luò)蜘蛛通過(guò)網(wǎng)頁(yè)的鏈接地址來(lái)尋找網(wǎng)頁(yè)。具體的入門(mén)介紹請(qǐng)(點(diǎn)擊這里)。
3.準(zhǔn)備爬蟲(chóng)環(huán)境:Jdk和Eclipse的安裝和配置就不多說(shuō)啦。這里啰嗦一句,一個(gè)好用的瀏覽器對(duì)于爬蟲(chóng)來(lái)說(shuō)非常重要,因?yàn)槭紫饶阈枰约簽g覽網(wǎng)頁(yè)知道你需要的東西在哪里,你才能告訴你的爬蟲(chóng)們?nèi)ツ睦镌趺磁?。個(gè)人推薦火狐瀏覽器,或者谷歌瀏覽器,它們的右鍵審查元素和查看源代碼的功能都非常強(qiáng)大。
下面我們開(kāi)始正式的爬蟲(chóng)之旅!~具體講些什么呢,恩,這是個(gè)問(wèn)題,讓我好好想想,別急^_^
相關(guān)文章
Java ClassLoader類(lèi)加載器基礎(chǔ)詳解
這篇文章主要為大家介紹了Java ClassLoader類(lèi)加載器基礎(chǔ)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-09-09Java Socket聊天室編程(一)之利用socket實(shí)現(xiàn)聊天之消息推送
這篇文章主要介紹了Java Socket聊天室編程(一)之利用socket實(shí)現(xiàn)聊天之消息推送的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2016-09-09Java利用遞歸實(shí)現(xiàn)樹(shù)形結(jié)構(gòu)的工具類(lèi)
有時(shí)候,我們的數(shù)據(jù)是帶有層級(jí)的,比如常見(jiàn)的省市區(qū)三級(jí)聯(lián)動(dòng),就是一層套著一層。而我們?cè)跀?shù)據(jù)庫(kù)存放數(shù)據(jù)的時(shí)候,往往是列表形式的,這個(gè)時(shí)候可能就需要遞歸處理為樹(shù)形結(jié)構(gòu)了。本文就為大家介紹了Java利用遞歸實(shí)現(xiàn)樹(shù)形結(jié)構(gòu)的工具類(lèi),希望對(duì)大家有所幫助2023-03-03Spring?Cloud?通過(guò)?Gateway?webflux實(shí)現(xiàn)網(wǎng)關(guān)異常處理
在某一個(gè)服務(wù)中出現(xiàn)異常,通過(guò)@ControllerAdvice?+?@ExceptionHandler?統(tǒng)一異常處理,即使在微服務(wù)架構(gòu)中,也可以將上述統(tǒng)一異常處理放入到公共的微服務(wù)中,這樣哪一個(gè)微服務(wù)需要,直接引入模塊,本文重點(diǎn)介紹Spring?Cloud?通過(guò)?Gateway?webflux實(shí)現(xiàn)網(wǎng)關(guān)異常處理,一起看看吧2023-11-11簡(jiǎn)單談?wù)凧ava遍歷樹(shù)深度優(yōu)先和廣度優(yōu)先的操作方式
這篇文章主要介紹了簡(jiǎn)單談?wù)凧ava遍歷樹(shù)深度優(yōu)先和廣度優(yōu)先的操作方式的相關(guān)資料,需要的朋友可以參考下2023-03-03JDK8新出Optional類(lèi)的方法探索與思考分析
這篇文章主要為大家介紹了JDK8新出Optional類(lèi)的發(fā)方法示例探索與思考分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-08-08java 中Spark中將對(duì)象序列化存儲(chǔ)到hdfs
這篇文章主要介紹了java 中Spark中將對(duì)象序列化存儲(chǔ)到hdfs的相關(guān)資料,需要的朋友可以參考下2017-06-06SpringBoot3整合mybatis-plus的實(shí)現(xiàn)
MyBatis-Plus是一個(gè)MyBatis的增強(qiáng)工具,在MyBatis的基礎(chǔ)上只做增強(qiáng)不做改變,本文主要介紹了Mybatis-Plus3.x的具體使用,具有一定的參考價(jià)值,感興趣的可以了解一下2023-10-10