Jsoup使用心得(新手必看)

努力不一定成功,但不努力一定很爽

前言

使用jsoup也有段時(shí)間了,用的更多的偏模擬http請(qǐng)求方面,因?yàn)檫@個(gè)是爬蟲關(guān)鍵,數(shù)據(jù)都沒有還怎么解析。下面分享一些自己的使用心得,有什么疑問,或者需改進(jìn)的地方,歡迎交流。

開始

  1. post提交數(shù)據(jù)的技巧,jsoup提交數(shù)據(jù)的方法有幾個(gè)(用過的)
    • data?(String key, String value),數(shù)據(jù)多了,要一直.data,很麻煩
    • data?(Map<String,String> data),其實(shí)只是封裝了下,數(shù)據(jù)多了,也要一直put
    • data?(String... keyvals),("key","value","key","value") 這樣一直拼下去,
    • requestBody?(String body),【推薦】提交json格式的數(shù)據(jù),包括一般格式,比如"platform=1&edition=252&sign=.....",自己拼接好的字符串,直接扔進(jìn)來即可。
  2. 下載圖片,之前文章也提到過,默認(rèn)下載1M,設(shè)置大小用maxBodySize?(int bytes)
    • BufferedInputStream bodyStream?() 大圖片,美女寫真,自然景觀什么的
    • byte[] bodyAsBytes?() 驗(yàn)證碼之類的小圖片
  3. 忽略SSl,禁止重定向,忽略類型錯(cuò)誤
    • ignoreContentType(true) 忽略格式錯(cuò)誤
    • followRedirects(false) 禁止重定向
    • validateTLSCertificates() 忽略SSl,TSL,雖然官方不推薦,但是還是可以用
  4. 獲取cookie名字一樣時(shí)的問題。multiHeaders方法是1.11.1之后加的,解決了問題。* Added support for multiple headers with the same name in Jsoup.Connect
    • String cookie?(String name) 獲取指定名字的cookie
    • Map<String,String> cookies?() cookie以map格式返回,很顯然同名只返回一個(gè)
    • Map<String,List<String>> multiHeaders?()

總結(jié)

工具使用,盡量使用最新,有什么問題盡量看官方文檔,這樣可減少因問題描述不到位,導(dǎo)致搜不到滿意答案的問題發(fā)生。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容