
800819103
在線客服,實時響應
qq群
在線客服,實時響應
客服電話
13318873961
java也可以寫爬蟲,不過可能代碼會多些,但也不是很難寫,難的是對頁面的分析,還有找規律,還有反爬蟲機制這些,今天精靈代理跟大家分享一下java爬蟲怎么爬取知乎問答的案例。
一、java爬蟲怎么爬取知乎問答
第一次運行:
在cmd中cd到項目目錄下運行
source 工作目錄/sql/createtable.sqlsource 工作目錄/sql/QAtable.sql
來建立數據庫表
getTopicId(); //用于獲取主話題idgetAllChildTopics(); //用于獲取子話題id
通過獲取的子話題id來爬取相應的熱門問答
loadAllTopicHotQA(); //爬取熱門問答
如果您希望每隔一段時間爬取一次數據可以設置定時器來讓程序每隔一段時間執行一次該方法.
二.爬取速度控制
若您希望爬取速度更快那么可以修改線程池的大?。?/p>
ExecutorService exec = Executors.newFixedThreadPool(2);
爬取過快或造成ip被封,可使用代理用不同的ip進行爬取,比如精靈代理,有大量的IP可以提供使用。
三、爬取過程中遇到的問題
1.在爬蟲爬取的過程中很多子話題下會擁有相同的問題
很多主題類似的子話題下有相同的問題,在寫代碼測試的過程中一直以為出錯了。。
2.在未登錄的情況下有時無法爬取到用戶的username
爬取到的username為知乎用戶,這種情況可能會造成正則匹配的位置錯誤。
java爬蟲怎么爬取知乎問答?爬蟲就是使用程序模擬一個瀏覽器對頁面上的數據進行不斷的連接獲取解析并保存。爬蟲并不難實現,要實現,需要學習正則表達式、java多線程線程池池知識,還有httpclient網絡庫及json和html結構。