jsoup獲取響應內容不完整

2021-10-01 18:58:31 字數 1208 閱讀 2062

jsoup抓取網頁只能抓取一部分不能完整獲取響應內容時,一般有以下幾個原因。

1. 網路異常,這個很少發生,jsoup會報告exception

2. 網路超時,可以設定 connection.timeout(n) 增加超時時間。

3. 看起來都正常,沒有異常發生。 但是獲取的資料就是少了一截。如果獲取到的資料不超過1024k,程式正常,得到的資料也正常。一旦資料超過1024k時,資料就只有預期得到資料的前1024k位元組了,其他的超過響應長度就得不到了。

解決辦法:

string url="";

//通過延遲50000000毫秒,設定響應body不限制

document doc= jsoup.connect(url).timeout(50000000).maxbodysize(0).get();

超時時間可根據自己需求調整,越大越不容易超時,maxbodysize(0),設定為0,就可以得到不限響應長度的資料了。

再貼個專案中原始碼以供參考:

public ajaxresult read() throws ioexception else

ct.setanswer(answer.text());

ct.setcontent(content.text().replace("【", "").replace("】", "").replace("a", "").replace("b", "").replace("c", "").replace("d", "").trim());

ct.setoptions(options.text());

//寫入資料庫

"題目大類:"+category.html());

system.out.print(i + ":題目內容:" + content.text().replace("【", "").replace("】", "").replace("a", "").replace("b", "").replace("c", "").replace("d", "").trim());

system.out.print(" ,題目選項:" + options.text());

system.out.println(" ,題目答案:" + answer.text());}}

}system.out.println("result---------------------end");

return toajax(1);

}

php curl 獲取資料不完整

curl獲取資料的時候,結果的字串長度比較大。相同的結果每次獲取的資料都不全,並且長度也不一樣。試著把 header資訊修改為except 但還是不行 這個可以解決的問題是資料量太大導致獲取結果為空的情況 去掉curlopt returntransfer true 可以列印出完整資料 解決方案 修改...

怎麼解決jsoup不能完整獲取響應內容的問題

當使用jsoup做爬蟲類的應用時,很是方便。但如果遇到不能完整獲取響應內容時,一般有以下幾個原因。1.網路異常,造成讀取不全。這個很少發生,因為jsoup會報告exception 2.網路超時,此時可以設定 connection.timeout n 增加超時時間。3.一切看起來都正常,也沒有異常發生...

Verilog不完整if else,case鎖存

僅在組合邏輯電路 電平觸發 中產生鎖存,因時序邏輯電路本身具有儲存功能 邊沿觸發,邊沿到來前保持原狀 去掉注釋後 q 1 b0 若寫q q 仍鎖存器 rtl analysis schematic if else以上三種情況 去掉注釋後 僅此處無reg,因二選一選擇器不存值 module latcho...