protected override void OnPreInit(EventArgs e)
{
base.OnPreInit(e);
string path = Server.MapPath("HomePage.htm");
if (File.Exists(path))
{
DateTime lastUpdatedTime = File.GetLastWriteTime(path);
if ((DateTime.Now - lastUpdatedTime) <= TimeSpan.fromHours(2))
{
&nb ......
͹Ï߱߿ò(¿í¶È10,ºìÉ«)
·Ö×é¿ò¡¡ ´úÂë
<fieldset style="border:10px ridge #FF0000; padding:2px; width:500">
<legend>·Ö×é¿ò</legend>
¡¡</fieldset>
°¼Ïß
·Ö×é¿ò¡¡ ´úÂë
<fieldset style="border:10px groove #FF0000; padding:2px; width:500">
<legend>·Ö×é¿ò</legend>
¡¡</fieldset>
ǶÈë
·Ö×é¿ò¡¡ ´úÂë
<fieldset style="border:10px inset #FF0000; padding:2px; width:500">
<legend>·Ö×é¿ò</legend>
¡¡</fieldset>
¿ª¶Ë
·Ö×é¿ò¡¡ ´úÂë
<fieldset style="border:10px outset #FF0000; padding:2px; width:500">
<legend>·Ö×é¿ò</legend>
¡¡</fieldset>
ʵÏß
·Ö×é¿ò¡¡ ´úÂë
<fieldset style="border:10px solid #FF0000; padding:2px; width:500">
<legend>·Ö×é¿ò</legend>
¡¡</fieldset>
......
ÔÎĵØÖ·£ºhttp://bbs.chinaunix.net/viewthread.php?tid=1316204
ǰÌìÑо¿Ê¹ÓÃHTML::TreeBuilderÄ£¿é·ÖÎöÍøÒ³£¬¿´µ½ÁËһƪÎÄÕ£¬Ë³±ã¾Í·ÒëÁËһϣ¬·¢ÉÏÀ´·ÖÏí¡£±¾ÈËÎıʲ»ºÃ£¬eÎÄˮƽÓÐÏÞ£¬´ó¼Ò´éºÏ¿´°É¡£
ÔÎĵØÖ·£ºhttp://www.perl.com/pub/a/2006/01/19/analyzing_html.html?page=1
ÎÄÕµı³¾°ÊÇ£¬×÷ÕßÔÚ½ÌÊÚÍøÒ³±à¼µÄ¿Î³Ì£¬Ëû»á¸øÑ§Éú×öһЩʹÓÃnvu×öÍøÒ³×÷Òµ£¬Ã¿¸ö×÷ÒµÖÐÓÐÐ©ÌØ¶¨µÄÒªÇó£¬×÷Õß¿àÓÚ¸øÑ§ÉúµÄ×÷ÒµÆÀ·ÖºÍ×ö×¢ÊÍ£¬ËùÒÔ¾ÍÏ뵽ʹÓÃperl³ÌÐò¶ÔѧÉúµÄ×÷Æ·½øÐзÖÎö¡£
perlµÄÕýÔò±í´ïʽÔÚÎı¾´¦Àí·½ÃæµÄÄÜÁ¦ÒѾ·Ç³£×¿Ô½£¬²¢ÇÒ»¹ÓзֽâÍøÒ³µÄרÓÃÄ£×éHTML::TreeBuilder¡£ËüÌṩÁËÒ»¸öhtmlµÄ·Ö½âÆ÷£¬Õâ¸ö·Ö½âÆ÷¿ÉÒÔ´ÓÒ»¸öÍøÒ³¹¹½¨³öÒ»¸öÔªËØµÄÊ÷Ðνṹ¡£²¢ÇÒ£¬´ÓÒ»¸öÍøÒ³Öн¨Á¢Ò»¿ÃÊ÷ºÍ¹¹½¨ËüµÄÄÚÈÝÊǷdz£ÈÝÒ׵ģº
#н¨Ò»¿ÃÊ÷
$tree = HTML::TreeBuilder->new;
#ÓÉÒ»¸öÍøÒ³Îļþ¹¹½¨Ê÷µÄÄÚÈÝ
$tree->parse_file($file_name);
#µ±È»Ò²¿ÉÒÔÓÉÒ»¸ö±äÁ¿µÄÄÚÈÝÖзֽâ³öÊ÷µÄÄÚÈÝ
$tree->parse($value);
Ê÷µÄ½ÚµãÊÇÒ»¸öHTML::Element¶ÔÏó¡£ÕâÓкܶ෽·¨¿ÉÒÔ´æÈ¡ºÍ²Ù×÷Ê÷ÖеÄÕâЩ½Úµã¡£µ±ÄãʹÓÃÍê³ÉÁËÕâ¿ÃÊ÷µÄʱºò£¬¿ÉÒÔʹÓÃÏÂÃæµÄ·½·¨Ïú»ÙËü²¢ÇÒÊÍ· ......
ÔÎĵØÖ·£ºhttp://www.php-oa.com/2009/09/24/perl-html-tree-builder-xpath.html
ת¹ýÀ´ ÂýÂýÑо¿
Ç¿´óµÄPerlÖÐ,Óг¬¼¶¶àÇ¿´óµÄÄ£¿é,ÈÃÎÒÃDz»ÔÚÐèÒªÖØ¸´µÄ·¢Ã÷ÂÖ×Ó.ÏÂÃæÕâ¸ö¾ÍÊÇÒ»¸öÇ¿´óµÄÄ£¿é.HTML::TreeBuilder::XPath.ËüÄÜÏóxmlÒ»Ñù½âÎöÍøÕ¾.ÔõôʹÓþͲ»Ï¸½²ÁË,ÈçÏÂ,¼ûʵÀý,ÎÒÊÇ´Óalexa.comÍøÕ¾µÃµ½ÎÒµÄÍøÕ¾ÅÅÃûµÄÒ»¸öÀý×Ó.»áÏÔʾÈçϵĽá¹û
1
2
#perl test.pl
ÄãµÄÍøÕ¾ÅÅÃûΪ: 199,954
HTML::TreeBuilder::XPathµÄʵÀý
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#!/usr/bin/perl
use strict;
use LWP::Simple;
use HTML::TreeBuilder::XPath;
use Data::Dumper;
my $url = "http://www.alexa.com/siteinfo/www.php-oa.com";
my $html = get( $url );
my $tree = new HTML::TreeBuilder::XPath;
$tree->parse( $html );
$tree->eof;
#$tree->dump;
my $srt;
my $items = $tree->findnodes( '/html/body/descendant::div[@class[.=~/data down/]]' );
for my $item ( $items->get_nodelist() ){
eval{
$srt = $item->content->[1];
};
......
ÓÉÓÚ¸÷ä¯ÀÀÆ÷µÄĬÈÏCSSÑùʽ²»Ò»Ñù£¬ÎÒÃDZØÐëдһ¸öCSS ResetͳһÆðÀ´¡£
ͨ³£ÎÒµÄ×ö·¨ÊÇÔÚcommon.cssÀïдȫ¾Ö¿ØÖÆ£¬ÕâÀïÃæÒ²°üÀ¨headerºÍfooter£¬ÆäËüCSSÎļþ¾Íͨ¹ý@import url(”common.css”);ÒýÓá£
body{padding:10px;margin:0;background:#fff;font-size:12px;line-height:14px;color:#333;font-family:Arial;}
form,ul,ol,h1,h2,h3,h4,h5,h6,p{margin:0;padding:0;list-style:none;}
input,textarea,select,button{font-size:12px;}
img{border:none;}
address,cite,small{color:#999;font-style:normal;font-size:12px;}
a{color:#09c;text-decoration:none;}
a:hover{text-decoration:underline;}
#header{...}
#footer{...} ......
<style type="text/css">
<!--
input{ background:expression((this.readOnly &&this.readOnly==true)?"#CCCCCC":"")}
-->
</style>
<body>
<input type="text" name="" />
<input type="text" name="" readonly="readonly" />
expression:´¦Àí·½Ê½£º
expression(²Ù×÷ÊÖ·¨)£»
expression(?:) ......