我正在尋找一種方法來確定Perl中的網頁代碼與文本的比例。不尋找任何複雜的只是簡單的打印出來,如HTML代碼:75%文本:25%只是爲了SEO的原因。Perl文本與代碼比率
回答
嗯......想快速...怎麼樣:
perl SCRIPT file1.html file2.html
注:
my $htmllength = 0;
my $textlength = 0;
while(<>) {
s/(<[^>]*>)/$htmllength += length($1); "";/eg;
$textlength += length($_);
}
print "HTML Code: " . (100 * $htmllength/($htmllength + $textlength)) . "\n";
print "Text : " . (100 * $textlength/($htmllength + $textlength)) . "\n";
然後,您只需對有問題的文件(S)運行腳本本如果您的數據包含任何CDATA字段,將不起作用
[你不能使用正則表達式解析\ [X \] HTML](http://stackoverflow.com/a/1732454/119280)! – DVK 2012-03-07 15:33:52
不,但我不解析它。但是,我正在讓內容透過,否則這些內容可能無法在演示文稿中看到。 – 2012-03-07 16:34:09
感謝所有反對票!向我展示一個失敗的文件,我將刪除該文章! – 2012-03-08 14:46:20
使用HTML :: TreeBuilder去除文本。
#!/usr/bin/perl
use strict;
use warnings;
use v5.10;
use LWP::Simple;
use HTML::TreeBuilder;
my $content = get(shift @ARGV);
die "Couldn't get it!" unless defined $content;
my $text = HTML::TreeBuilder->new_from_content($content)->as_text;
my $html_size = length $content;
my $text_size = length $text;
my $percentage = 100 * ($text_size/$html_size);
say qq[$percentage%];
- 1. 文本與代碼比率的好算法?
- 2. 爲Perl代碼覆蓋率
- 3. 使用文本文件的Perl代碼
- 4. 代碼覆蓋率與SCCT
- 5. 與代碼覆蓋率相結合的自由文本搜索
- 6. 文本在Perl代碼參數與CIDR IP地址
- 7. 代理與Perl腳本
- 8. SimpleCov代碼覆蓋率與Jenkins中的最後一個版本比較
- 9. 良好的捕獲語句與代碼行之間的比率
- 10. Perl讀取perl代碼表示文件
- 11. 積比率與R
- 12. Perl - 文件編碼和字比較
- 13. perl代碼塊
- 14. 用於文本比較的Perl模塊
- 15. perl代碼合併多個文本文件
- 16. 數據庫冗餘與代碼效率
- 17. C#代碼覆蓋率與硒
- 18. 與Perl代碼自動交互
- 19. 當由Selenium執行時,如何獲得Perl CGI腳本的代碼覆蓋率?
- 20. NAudio - 比特率與採樣率
- 21. Perl腳本吐代碼,但不執行
- 22. 運行從代碼異常perl腳本
- 23. MySQL的錯誤代碼2 Perl腳本
- 24. Perl的樣本等同的JavaScript代碼
- 25. 請幫助執行基本Perl代碼
- 26. ffmpeg多比特率編碼
- 27. perl文件比較
- 28. SAX代碼效率
- 29. Python代碼效率
- 30. 效率VB.NET代碼
請澄清SEO – Zaid 2012-03-07 14:36:41
我想借一個網頁作爲一個文件,放到一個變量,確定是HTML代碼,這是可見的文本的百分比。 – Blnukem 2012-03-07 14:41:32
HTML標籤很少是「代碼」。如何使用術語「標記」? – mob 2012-03-07 18:13:01