VB2008可唔可以get到網頁內容?

即係例如話,有一頁HTML係HTTP Server度(eg: IP: 192.168.0.1)
我想用VB拎佢個HTML入面既內容,之後save落去d 變數度,再做處理
可唔可以咁?

why not? google "wininet"

TOP

原帖由 wilsont 於 2009-9-7 22:06 發表
why not? google "wininet"

岩岩見到MSDN,全部code都係for C++既,冇for VB喎………

TOP

TOP

TOP

另外搭單問一問
點解呢個程式list晒出黎要成幾秒有多?
(我用C2D架喎)
Public Class Form1
    Dim now As Decimal

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        While now < 999
            now = now + 1
            TextBox1.Text = TextBox1.Text & now & vbNewLine
        End While
    End Sub

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        now = 0
    End Sub
End Class

TOP

While now < 999
            now = now + 1
            TextBox1.Text = TextBox1.Text & now & vbNewLine
        End While

第一...我會用FOR LOOP
第二...我會用STRINGBUILDER裝住個STRING..最後O係FOR LOOP出面先寫入去個TEXTBOX到...你依家係下下寫入個TEXTBOX到..唔慢有鬼....
如果你要下下SHOW個TEXT出O黎..咁你應該用BACKWORKER行多線程...你依家咁做都只會見到個結果...
重有..WINFORM係行GDI+..你用咩U咩DISPLAY都唔會有任何幫助...

TOP

回你第一個POST先...
HTML其實都係TEXT FILE....你先好似樓上D 師兄咁用WEBREQUEST攞左個HTML..之後就要自己分析下個HTML O既字O既位置排法...再用FILESTEAM等o既FUNCTION去搵D字串出O黎CUT頭CUT尾...
我試下搵SAMPLE俾你睇下...係我之前幫我細佬做左個拆律師公會個網攞電話地址O既DATA...

TOP

原帖由 alextamly 於 2009-9-8 19:58 發表
回你第一個POST先...
HTML其實都係TEXT FILE....你先好似樓上D 師兄咁用WEBREQUEST攞左個HTML..之後就要自己分析下個HTML O既字O既位置排法...再用FILESTEAM等o既FU ...

我就係想做類似既野

[ 本帖最後由 benleung 於 2009-9-8 20:19 編輯 ]

TOP

回覆 9# 的帖子

成個流程就係
打開 socket -> 下載目標網頁 -> save 到變數 -> 分析網頁內容,包括網頁嘅編碼,utf8, gbk, big5....,->去咗的無用資訊, 更改編碼符合你的語系 -> 顯示結果

相信任何語言都係咁上下, 我用 perl 寫咗個查詢節目時間的腳本,  係簡體windows xp cygwin, 繁體 vista cygwin , Ubuntu9.04, 只係要改文件編碼, 唔怕醜比你參考吓,唔識perl 都會明多少, 最後個 疊代loop, 入面就係更改語系locale, 用regexp 及 s/// 替換函數去除唔要嘅野.

#! /usr/bin/perl                                                                # prog: tvbprograme.pl  by [email protected] , public domain
# usage: tvbprograme.pl [-jade|-pearl]
# Tested on Cygwin NT 1.7.0, locale is zh_CN.GBK
# remove $x = encode("big5", decode("utf-8", $x)); and use Encode;
# if you don't need

use strict;
use warnings;
use POSIX;
use LWP::Simple;
use Encode;
use File::Basename;

  my $name = basename($0);
  my $option = $ARGV[0];
  my ( $url, $tvb ) = undef;
  my ( $year, $month, $day ) = ( strftime("%Y", localtime),
                                 strftime("%m", localtime),
                                 strftime("%d", localtime) );

  if ( ! defined $option or $option eq "-jade" ){
           $url = "http://schedule.tvb.com/jade/";
           $tvb = "翡翠台";
    } elsif ( $option eq "-pearl" ){
           $url = "http://schedule.tvb.com/pearl/";
           $tvb = "明珠台";
    } else {
           die "\nUsage:\t$name [ -jade|-pearl ]\n";
    };

    my $list = get($url) or die "Could not open $url : $!\n";
    my @list = split(/\n/, $list);

    print "\nTVB $tvb $year 年 $month 月 $day 日節目時間表\n\n";

    foreach my $x ( @list ){
        if ( $x =~ /0?\d+:0?\d+/ ){
               $x = encode("gbk", decode("utf-8", $x));
               $x =~ s/<[^>]+>//g;
               $x =~ s/&.*//g;
               $x =~ s/[ap]m/$&\t/g;
               print "$x\n";
               last if $x =~ /\d{4}-\d{2}-\d{2}/
           }
    }

TOP