Java爬蟲實現爬取招聘網站信息

2020-12-12 自學Java闖天下

Java也能爬蟲?你不要騙我!

首先糾正一個常見的誤區:爬蟲只能由Python來做。提到爬蟲,大多數人可能會想到Python,並把它們混為一談。

實則不然,其實很多程式語言都能夠寫爬蟲,只不過用Python的人比較多而已。今天要給大家介紹的是用Java來寫一個爬蟲,實現獲取招聘網站信息的功能。

那麼,到底什麼是爬蟲呢?

定義

爬蟲,全稱是網絡爬蟲,又稱為網頁蜘蛛,是一種按照一定的規則,自動地抓取網際網路信息的程序或者腳本。

至此,你應該明白,爬蟲就是從網際網路自動獲取信息的一種東西,跟什麼程式語言寫的無關。

用途

搜尋引擎:通過爬蟲建立各網站內容的索引。數據採集分析:通過爬蟲獲取大量數據並加以分析。其他等等本質

我們今天要做的Java爬蟲獲取招聘網站信息就是數據採集分析的過程,其本質就是不斷向招聘網站發起HTTP請求,在響應中篩選出自己感興趣的內容並加以分析。

HTTP請求和響應對於大家來說應該已經很熟悉了,不管是使用JDK自帶的HttpURLConnection或者是第三方開源框架如Apache的HttpClient都很容易發起HTTP請求並接收響應。

問題的關鍵在於對於大量的響應,我們應該如何篩選出自己感興趣的內容?聰明的你也許已經猜得八九不離十了,沒錯,就是正則表達式。

我們只需要查看網頁原始碼,找出我們所感興趣的信息相關的規律,我們就能夠通過正則表達式將其篩選出來。

實踐

限於篇幅,我簡單闡述一下整個流程以及說明一些重要的關鍵點,如果有感興趣的朋友可以具體實踐操作一下。

在某招聘網站上選定條件,如「java(全文)+廣東省+1-1.5萬+1-3年」;通過翻頁來觀察網址的改變,這樣你就可以通過第1頁的網址計算出其他頁的網址(總頁數通過正則表達式可以獲取到);通過正則表達式獲取到每一條招聘信息的詳細信息,如職位名,公司名,工作地,薪資,發布時間等,然後可以新建一個Job類new出多個對象來存儲信息,最後放進集合類中便於操作(這一步的關鍵是查看網頁原始碼找出規律,然後通過正則精準獲取對應的信息);獲取完所有頁的信息後通過EasyExcel等工具生成Excel文件便於你查看並分析。

通過不同的正則篩選出不同的信息

改進

上面的做法是比較簡單的實現,實際上還有很多可改進的地方,我列出一些方向供朋友們自行思考。

量比較大時,採用多線程提高效率。篩選出崗位要求,分析各種技術出現的頻次,可以得知企業對於人才的需求。網頁原始碼開頭和末尾的很多行都是無關的信息,不需要正則去匹配,可以直接跳過。其他等等

注意

爬蟲切勿過頭,如果你對某個網站造成過大的壓力造成伺服器出問題的話,你就有大麻煩了。本文純屬科普爬蟲的流程,請大家切記隨便玩玩就好,不要過分不要過分不要過分

往期精選Java程式設計師2020年年後求職指南Java程式設計師必看的技術社區世界上最流行的版本控制系統Git

相關焦點

  • 什麼是爬蟲?如何提高爬蟲爬取網頁速度?
    通俗來講,網際網路好比一張偌大的蜘蛛網,網絡爬蟲就像蜘蛛一直在蛛網上爬行捕捉優質的信息並收錄到自己的資料庫中,然後當用戶在搜尋引擎上搜索對應關鍵詞時,搜尋引擎將對關鍵詞進行分析處理,然後從收錄的網頁中找出相關網頁,按照排名規則進行排序並將結果展現給搜索用戶。因此搜尋引擎離不開網絡爬蟲,網絡爬蟲也是搜尋引擎的重要組成部分。
  • 網站反爬蟲常見方法
    凡是有一定規模的網站,大公司的網站,或是盈利性質比較強的網站,都是有防爬措施的。網站為了正常運營,通常會設置各種反爬機制,讓爬蟲知難而退。今天神龍代理IP就給大家盤點一下網站常見的反爬蟲機制。網站反爬蟲常見方法1.通過UA判定UA即User Agent,它是請求瀏覽器的身份標誌。
  • 爬蟲在社交網站的應用
    人們對社交網站上查看新聞習以為常,但不知道這些看到的新聞並非人類添加。皮尤研究中心最新的一項調查顯示,在月活躍用戶超過 3.19 億的推特上,人類的分享活動其實有點少,66% 指向熱門網址的推文和分享熱門新聞實事都由機器人發布。
  • 簡單直觀的python爬蟲程序,從flask建立web程序到爬取過程
    有很多時候,要說清楚一個爬蟲程序對於新手來說有點抽象,不是那麼好理解,有一個好的辦法,爬蟲爬取的都是web網站的資源,那麼就可以用輕量級web框架flask來搭建一個web網站,然後寫一個爬蟲腳本來爬取這樣就可以比較容易的理解其工作原理。
  • 程式設計師:Java爬蟲使用Selenium+Autoit自動化爬取複雜頁面
    前言最近玩爬蟲的時候,遇到一個國外的圖片網站,具體哪個就不說了,這個站很有意思,即使拿到了圖片的連結,用httpclient下載都不行,不是User-Agent的原因,不知道圖片伺服器的後端有什麼校驗,沒辦法了,只能用Selenium上了,js逆向成本太高了(其實是我不擅長0.0)這個站用的
  • 爬蟲究竟是合法還是違法的?
    02.爬蟲崗位人人自危我在拉鉤上搜索: 爬蟲工程師,顯示有 217 條相關招聘信息,薪資從10-60k 都有,說明市場上對爬蟲的需求是很大的。前天文章發出去之後有很多程式設計師給我留言:我們領導安排我爬取公司內部的信息,這算不算犯罪呢?爬取網上公開的信息,這算不算犯罪呢?
  • python爬蟲100個入門項目
    1淘寶模擬登錄2天貓商品數據爬蟲3爬取淘寶我已購買的寶貝數據4每天不同時間段通過微信發消息提醒女友5爬取5K解析度超清唯美壁紙6爬取豆瓣排行榜電影數據(含GUI界面版)7多線程+代理池爬取天天基金網、股票數據(無需使用爬蟲框架)8一鍵生成微信個人專屬數據報告(了解你的微信社交歷史)9一鍵生成QQ個人歷史報告10微信公眾號文章爬蟲
  • 進階版python獲取天氣信息——爬蟲入門
    瀏覽器基於這些問題,今天我們就來個進階版的獲取天氣信息方法——爬蟲獲取,同時該例子也是理解入門爬蟲的最好例子。1.爬蟲先來講講爬蟲是什麼?爬蟲,又叫網絡蜘蛛,是一個探測的機器。它模擬人的行為去各個網站溜達,看到有用的信息就想自己下載下來保存一份。簡答一句話就是在網頁上提取我們想要的信息。
  • Python爬蟲並自製新聞網站,太好玩了
    來源 | 凹凸數據(ID:alltodata)我們總是在爬啊爬,爬到了數據難道只是為了做一個詞雲嗎?當然不!這次我就利用flask為大家呈現一道小菜。Flask是python中一個輕量級web框架,相對於其他web框架來說簡單,適合小白練手。使用Flask+爬蟲,教大家如何實時展示自己爬下來的數據到網頁上。
  • Python爬蟲推薦用什麼框架呢?
    實現爬蟲技術的編程環境有很多種,Java、Python、C++等都可以用來爬蟲,但最熱門的依然是Python,這是為什麼呢?因為Python有著非常豐富的第三方庫,確實很適合做爬蟲,簡單的幾行代碼便可實現你想要的功能,同時Python也是數據挖掘和分析的好能手。
  • 放下你手裡的代碼:爬蟲技術的善與惡
    原因是最近發生的多起涉及爬蟲技術的公司被司法部門調查。近日,51信用卡被查,更是將暴力催收背後非法使用爬蟲技術爬取個人隱私數據的醜行,暴露在陽光之下。一時間,「爬蟲」成為眾矢之的,一些公司緊急下架了爬蟲相關的招聘信息,給大數據風控、人工智慧從業者帶來些許恐慌,頭髮又多落了幾根。
  • 換ip工具是爬蟲不可缺少的嗎?
    網際網路經過多年的發展,網際網路的存在也讓我們的生活工作節奏更加快速,現在網際網路工作從業者也越來越多,不論哪個行業,只要與網際網路相關,就離不開大數據,網絡爬蟲應運而生,爬蟲工作者都知道代理IP對於爬蟲工作的進展很重要,那麼,代理IP是不是不可缺少的呢?
  • python 爬蟲學習路線:從入門到進階
    跟著老師寫基礎爬蟲的代碼,學習老師爬取網頁的思路,並且在這個過程中,學習自己不會的庫、函數、語法。先模仿,再獨立,體會爬蟲代碼在自己手中形成的過程,而不是只是跟老師把代碼抄一遍。基礎學習:爬蟲信息提取模塊在爬蟲中,爬取數據可以是非常簡單的。但是,從爬取的數據中找到有用的數據,這才是我們真正的目的。
  • Python爬蟲入門教程:超級簡單的Python爬蟲教程
    這是一篇詳細介紹 Python 爬蟲入門的教程,從實戰出發,適合初學者。讀者只需在閱讀過程緊跟文章思路,理清相應的實現代碼,30 分鐘即可學會編寫簡單的 Python 爬蟲。>以中國旅遊網首頁為例,抓取中國旅遊網首頁首條信息(標題和連結),數據以明文的形式出面在源碼中。
  • 第7天|10天搞定Python網絡爬蟲,Scrapy爬更快
    爬蟲(Spider):爬蟲,是用戶最關心的部分。用戶定製自己的爬蟲(通過定製正則表達式等語法),用於從特定的網頁中提取自己需要的信息,即所謂的實體(Item)。 用戶也可以從中提取出連結,讓Scrapy繼續抓取下一個頁面。
  • 如何高效使用爬蟲IP代理?
    但網際網路上存留的數據非常龐大,單靠人力進行數據採集已遠不能滿足需求,因此效率高、成本低的網絡爬蟲廣受人們青睞,成為爬取收錄信息的主流方式。爬蟲代理IP是網絡爬蟲的必備工具,可以讓數據採集變得更加高效。那麼如何使用代理IP,才能保證爬蟲高效、快速、精準地採集數據呢?神龍IP帶大家一起來看看~
  • Python開發簡單爬蟲【學習資料總結】
    ;另一方面,會將新的URL補充進URL管理器,若有URL管理器中含有新的URL,則重複上述步驟,直到爬取完所有的URL 6、最後,調度器會調動應用的方法,將價值數據輸出到需要的格式。
  • python為什麼叫爬蟲?為啥那麼多人通過python兼職都能掙不少錢?
    今天介紹python爬蟲的學習。網絡爬蟲 網絡爬蟲,也叫網絡蜘蛛(Web Spider)。爬蟲是根據網頁地址(URL)爬取網頁上的內容,這裡說的網頁地址(URL)就是我們在瀏覽器中輸入的網站連結。例如:https://www.baidu.com/,這就是一個URL。
  • 寫網絡爬蟲程序的難度是怎麼分等級的
    好多Python爬蟲的入門教程都是一行代碼就把你騙上了「賊船」,等上了賊船才發現,水好深~比如爬取一個網頁可以是很簡單的一行代碼: r = requests.get('http://news.baidu.com')
  • 看綜藝是為了學爬蟲,最後居然搞的深度學習,這Python課也是絕了
    這次的目標是,本次實踐使用Python來爬取百度百科中《青春有你2》所有參賽選手的信息。所有的PLMM圖片都爬取下來,這次就幹這個,至於拿來幹嘛?別想歪了,留個懸念,後面會有更精彩的答案。下面介紹爬取的思路和關鍵點。