
努力不一定成功,但不努力一定很爽
前言
使用jsoup也有段時(shí)間了,用的更多的偏模擬http請(qǐng)求方面,因?yàn)檫@個(gè)是爬蟲關(guān)鍵,數(shù)據(jù)都沒有還怎么解析。下面分享一些自己的使用心得,有什么疑問,或者需改進(jìn)的地方,歡迎交流。
開始
- 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)來即可。
- 下載圖片,之前文章也提到過,默認(rèn)下載1M,設(shè)置大小用maxBodySize?(int bytes)
- BufferedInputStream bodyStream?() 大圖片,美女寫真,自然景觀什么的
- byte[] bodyAsBytes?() 驗(yàn)證碼之類的小圖片
- 忽略SSl,禁止重定向,忽略類型錯(cuò)誤
- ignoreContentType(true) 忽略格式錯(cuò)誤
- followRedirects(false) 禁止重定向
- validateTLSCertificates() 忽略SSl,TSL,雖然官方不推薦,但是還是可以用
- 獲取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ā)生。