91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

Perl正則表達式如何提取網頁數據

小樊
84
2024-10-09 03:13:26
欄目: 編程語言

在Perl中,你可以使用正則表達式來提取網頁數據。以下是一個簡單的示例,展示了如何使用Perl的內置庫IO::Socket::INET來獲取網頁內容,并使用正則表達式提取所需的數據:

#!/usr/bin/perl
use strict;
use warnings;
use IO::Socket::INET;

# 設置監聽地址和端口
my $server_address = '127.0.0.1';
my $server_port        = '8080';

# 創建套接字
my $socket = IO::Socket::INET->new(
    LocalHost => $server_address,
    LocalPort => '8080',
    Proto     => 'tcp',
    Reuse     => 1,
    Proto     => 'http',
    Reuse     => 1,
) or die "無法創建套接字: $!\n";

# 綁定套接字
$socket->bind($server_address, $server_port);

# 監聽連接
$socket->listen(5);
print "服務器正在監聽端口 $server_port...\n";

# 接受來自客戶端的連接
my $client_address = "";
my $client_socket;
$socket->accept($client_socket);

# 獲取請求行數據
my $request = "";
$client_socket->recv($request, 1024);
print "接收到請求: $request\n";

# 關閉套接字
$client_socket->close();
$socket->close();

在這個示例中,我們創建了一個簡單的HTTP服務器,監聽端口8080。當客戶端連接到服務器時,服務器會接收請求行數據,然后使用正則表達式提取所需的數據。

要提取網頁數據,你可以使用Perl的正則表達式庫MIME::Parse::HTML。首先,你需要安裝這個庫:

cpan MIME::Parse::HTML

然后,你可以使用以下代碼來提取網頁數據:

#!/usr/bin/perl
use strict;
use warnings;
use MIME::Parse::HTML;

# 獲取網頁內容
my $url = 'http://example.com';
my $html_content = get_html_content($url);

# 使用正則表達式提取數據
my $title = "";
if ($html_content) {
    $title =~ s/<title>(.*?)<\/title>/$1/gi;
    print "網頁標題: $title\n";
} else {
    print "無法獲取網頁內容\n";
}

sub get_html_content {
    my $url = shift;
    my $content = "";

    # 使用LWP::UserAgent獲取網頁內容
    my $ua = LWP::UserAgent->new;
    my $response = $ua->get($url);

    if ($response->is_success) {
        $content = $response->decoded_content;
    } else {
        print "獲取網頁失敗: ", $response->status_line, "\n";
    }

    return $content;
}

在這個示例中,我們使用MIME::Parse::HTML庫的get_html_content函數獲取網頁內容,然后使用正則表達式提取標題。你可以根據需要修改正則表達式來提取其他數據。

0
托克逊县| 新民市| 盈江县| 林口县| 吕梁市| 高碑店市| 蒙自县| 武夷山市| 永昌县| 隆尧县| 资溪县| 兴文县| 河南省| 康乐县| 萨迦县| 大化| 宝清县| 上杭县| 云浮市| 都江堰市| 禄劝| 石渠县| 许昌市| 合川市| 炉霍县| 佛山市| 龙山县| 大丰市| 景东| 赫章县| 赣榆县| 华池县| 兴安县| 大名县| 涟源市| 鲜城| 南召县| 麦盖提县| 麻江县| 清水河县| 安龙县|