有沒有人知道在GET或POST請求中只獲取網頁50%的最佳方式?我讀取的網頁需要10,20秒才能完全加載,而我只需要從頁面的開頭只過濾幾行。如何僅使用LWP獲取網頁的開頭?
2
A
回答
7
use 5.010;
use strictures;
use LWP::UserAgent qw();
my $content;
LWP::UserAgent->new->get(
$url,
':content_cb' => sub {
my ($chunk, $res) = @_;
state $length = $res->header('Content-Length');
$content .= $chunk;
die if length($content)/$length > 0.5;
},
);
2
如果Web應用程序需要很長時間才能呈現頁面,通常無法通過獲取頁面的「一半」來加速該過程。
頁面將在所有數據庫查詢和實際呈現完成後發送。而這些可能是長時間拖延的原因。
3
如果有問題的網站提供了Content-Length
標題,您可以問一下要發送多少數據並只請求一半數據。
此代碼演示。
use strict;
use warnings;
use LWP;
my $ua = LWP::UserAgent->new;
my $url = 'http://website.test';
my $resp = $ua->head($url);
my $half = $resp->header('Content-Length')/2;
$resp = $ua->get($url, Range => "bytes=1-$half");
my $content = $resp->content;
相關問題
- 1. 使用LWP獲取網頁內容
- 2. 如何讓Perl的LWP獲取英文版網頁?
- 3. 如何使用jQuery獲取網頁上的攝像頭?
- 4. 獲取網址開頭
- 5. 如何使用網頁框在網頁中獲取Flash網址?
- 6. 如何使用Perl LWP通過歡迎頁面進行爬網?
- 7. 使用LWP ::用戶代理從網站試圖獲取時
- 8. 如何使用Linux glibc獲得LWP?
- 9. 如何從Chrome和Firefox獲取開放網頁的網址?
- 10. 使用HtmlAgilityPack.NETCore獲取網頁
- 11. 使用XmlHttpRequest獲取網頁
- 12. 如何使用Perl的LWP提取非標準的HTTP頭文件?
- 13. 如何使用AJAX獲取Wikipedia網頁或獲取()
- 14. 如何獲取本網頁的網址
- 15. 如何獲取HTTPS網頁?
- 16. 如何獲取html網頁?
- 17. PHP:如何使用cURL獲取網頁的基準網址
- 18. 如何使用python標準庫僅捕獲javascript網頁
- 19. Asp.net網頁API獲取請求頭
- 20. LWP :: Simple&LWP :: UserAgent不返回完整的網頁內容
- 21. 如何僅使用Python獲取網頁文本,就像Select-all&Copy in browser?
- 22. 如何使用urllib2獲取使用SSLv3加密的網頁
- 23. 如何使用Shadowbox從網頁中僅提取文本?
- 24. 如何僅使用JavaScript獲取用戶特定頁面?
- 25. 如何僅獲取IP地址/子網
- 26. 如何獲取在IE中打開的網頁的XML代碼(不使用WebRequest)?
- 27. 使用JavaScript獲取新打開的網頁的URL
- 28. 如何使iframe僅捕獲一個網頁的一個元素?
- 29. 如何從打開的網頁使用c獲取字段數據#
- 30. 如何使用eclipse BIRT從網頁/網址獲取參數?
使用狹窄; ?你的意思是'嚴格',或者......? – Marcus
@Marcus,[strictures](http://search.cpan.org/perldoc?strictures) – ikegami
不要使用'strictures'。保存一行代碼是整個CPAN的依賴關係。 – friedo