摘要:圖片抓取簡單一覽項(xiàng)目目的通過示例項(xiàng)目,初步接觸,等常用工具,熟悉常用環(huán)境使用通過獲取美食杰數(shù)據(jù),使用來解析數(shù)據(jù)并抓取處理目標(biāo)數(shù)據(jù)。示例中要識別出地址中的圖片地址。
【圖片抓取】002-簡單一覽
[toc]
項(xiàng)目目的通過示例項(xiàng)目,初步接觸spring boot,maven等常用工具,熟悉常用JAVA環(huán)境;使用通過httpclient獲取美食杰html數(shù)據(jù),使用jsoup來解析html數(shù)據(jù)并抓取處理目標(biāo)數(shù)據(jù)。
流程圖示意讀取配置,本章節(jié)示例中暫不讀取配置;
使用httpclient讀取html頁面內(nèi)容,使用jsoup解析頁面內(nèi)容;
處理步驟2中的內(nèi)容,本章節(jié)中直接保存為文件;
判斷是否繼續(xù)解析,真實(shí)應(yīng)用中大部分不會(huì)一次只讀取一個(gè)url,本次示例只解析一次。
類圖示意Application main方法啟動(dòng),主邏輯實(shí)現(xiàn)。
IProcesser 目標(biāo)document處理接口。
DefaultProcesserImpl IProcesser實(shí)現(xiàn)類。
HttpUtils Http處理類。
主要步驟
示例中會(huì)通過我們的代碼獲取上圖中紅色標(biāo)記的圖片并保存在本地;
尋找目標(biāo);用瀏覽器打開網(wǎng)址http://www.meishij.net/zuofa/ganzhematitiantang_1.html(建議使用chrome),然后打開瀏覽器的開發(fā)者工具快捷鍵F12;在窗口中選中elements頁面,然后通過元素選擇器選中目標(biāo)圖片,html代碼會(huì)自動(dòng)跳到圖片的html代碼;
編寫jQuery選擇器;此時(shí)我們已經(jīng)找到目標(biāo)的html代碼,現(xiàn)在開始找到代碼能識別的規(guī)則來獲取數(shù)據(jù),jsoup支持jquery選擇器規(guī)則,我們可以做唯一測試,
;在開發(fā)者工具console行里實(shí)驗(yàn)通過$(".cp_headerimg_w img")獲取的元素長度為1,既通過.cp_headerimg_w img就可以直接獲取我們的目標(biāo)圖片位置;
最總我們通過以下代碼我們就可以完成處理;
本次示例只是簡單找到目標(biāo),保存目標(biāo)。具體代碼可參考示例代碼git地址,現(xiàn)在其實(shí)還有很多可優(yōu)化改進(jìn)的地方,下次我們繼續(xù)。
簡單說來就是現(xiàn)在互聯(lián)網(wǎng)上通信http協(xié)議應(yīng)用比較廣泛 別人都用,愛用不用,擴(kuò)展性好;另外java原生包提供基本的http功能,但是不好用,所以產(chǎn)生了HttpClient工具包。
HttpClient支持標(biāo)準(zhǔn)Http1.0/1.1;支持get,post,put,delete,head等http方法;支持https;支持http代理等等;基本上你能想到的關(guān)于http的特性,它都支持。
在本示例中,簡單使用httpclient來獲取html頁面字符串內(nèi)容,后面示例會(huì)使用HttpClient的多線程,以及線程池功能。
jsoup能夠把html的文本內(nèi)容解析成html Document,通過類似jQuery選擇器的用法,能方便的找到想要html內(nèi)容。示例中要識別出http地址中的圖片地址。
TODO 配合美食節(jié)頁面, 瀏覽器查找截圖簡單說明jQuery selector
示例代碼git地址
jQuery 參考手冊 - 選擇器
jsoup
HttpClient 4.5
注意如果剛開始使用maven基本都會(huì)遇到一些問題:
maven編譯慢,其實(shí)都是第一次慢,因?yàn)橐潞芏嘁蕾嚢詈猛ㄟ^配置maven國內(nèi)鏡像,可參考001-JAVA 基礎(chǔ)環(huán)境。
編譯莫名奇妙失敗,可以通過確認(rèn)C:Usersxxx.m2 epository目錄下,是否存在pom依賴,或者把對應(yīng)的依賴刪掉重新maven編譯下,
例如依賴是groupid:org.jsoup,artifactid:jsoup,則對應(yīng)的jar目錄是,既C:Users[xxx].m2 epository[groupid][artifactid][version],指刪掉該依賴即可,不要全刪掉repository,不然其它jar也要重新下。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/68493.html
摘要:至此登錄功能初步實(shí)現(xiàn)。為了方便我們快速定位到每節(jié)課的所有資源,可以把一節(jié)課的所有資源文件均命名為課名文件類型??梢钥匆幌乱粋€(gè)測試?yán)又械奈募?,部分?nèi)容如下到這里為止,我們已經(jīng)成功完成爬取課程資源的目標(biāo),具體的代碼放在上。 原文地址 有時(shí)候我們需要把一些經(jīng)典的東西收藏起來,時(shí)時(shí)回味,而Coursera上的一些課程無疑就是經(jīng)典之作。Coursera中的大部分完結(jié)課程都提供了完整的配套教學(xué)資...
摘要:錯(cuò)誤編號內(nèi)容注釋非比原標(biāo)準(zhǔn)錯(cuò)誤請求超時(shí)非法的請求體為網(wǎng)絡(luò)錯(cuò)誤編號內(nèi)容注釋區(qū)塊鏈網(wǎng)絡(luò)類型不匹配是簽名相關(guān)的錯(cuò)誤編號內(nèi)容注釋需要簽名的個(gè)數(shù)超過實(shí)際需求簽名的個(gè)數(shù)簽名格式錯(cuò)誤缺少主公鑰主公鑰重復(fù)為交易相關(guān)的錯(cuò)誤構(gòu)建交易錯(cuò)誤編號內(nèi)容注釋資產(chǎn)余額不 0XX API錯(cuò)誤 編號 內(nèi)容 注釋 BTM000 Bytom API Error 非比原標(biāo)準(zhǔn)錯(cuò)誤 BTM001 Request t...
摘要:眾所周知,測試過程會(huì)花費(fèi)部分成本,比如產(chǎn)品的需求變更,開發(fā)的修復(fù),用戶體驗(yàn)測試也不例外用戶體驗(yàn)環(huán)境從時(shí)間耗時(shí)和資源上都能體現(xiàn)。 此文已由作者吳艷秋授權(quán)網(wǎng)易云社區(qū)發(fā)布。 歡迎訪問網(wǎng)易云社區(qū),了解更多網(wǎng)易技術(shù)產(chǎn)品運(yùn)營經(jīng)驗(yàn)。 一、什么是用戶體驗(yàn) 用戶體驗(yàn),英文叫做user experience。一個(gè)較常見的定義是指用戶訪問一個(gè)網(wǎng)站或者使用一個(gè)產(chǎn)品時(shí)的全部體驗(yàn)。他們的印象和感覺,是否成功,是否...
摘要:添加接收人監(jiān)控中心支持添加郵箱及微信兩種告警,需要注意的是,添加郵箱告警的話,需要預(yù)先配置發(fā)件服務(wù)器。由于監(jiān)控中心配置了一條告警規(guī)則,只要企業(yè)微信的信息填寫正確,一般分鐘以內(nèi)均可從企業(yè)微信中獲取到告警信息。監(jiān)控中心概述監(jiān)控中心是UK8S提供的產(chǎn)品化監(jiān)控方案,提供基于Prometheus的產(chǎn)品解決方案,涵蓋Prometheus集群的全生命周期管理,以及告警規(guī)則配置、報(bào)警設(shè)置等功能,省去了自行搭...
摘要:添加簡單電影微服務(wù)啟動(dòng)類簡單電影微服務(wù)類消費(fèi)方,而提供方為用戶微服務(wù)。 SpringCloud(第 002 篇)簡單電影微服務(wù)類(消費(fèi)方,而提供方為用戶微服務(wù)) - 一、大致介紹 微服務(wù)與微服務(wù)之間通過 Http 協(xié)議進(jìn)行通信; 用戶微服務(wù)作為提供方,電影微服務(wù)作為消費(fèi)方,電影微服務(wù)消費(fèi)用戶微服務(wù) ; 二、實(shí)現(xiàn)步驟 2.1 添加 maven 引用包 4.0.0 s...
閱讀 2750·2023-04-25 22:15
閱讀 1816·2021-11-19 09:40
閱讀 2161·2021-09-30 09:48
閱讀 3236·2021-09-03 10:36
閱讀 2037·2021-08-30 09:48
閱讀 1872·2021-08-24 10:00
閱讀 2739·2019-08-30 15:54
閱讀 714·2019-08-30 15:54