簡體   English   中英

Perl快速HTML提取

[英]Perl fast HTML extract

我想從幾個HTML頁面中提取數據,但對HTML提取不熟悉。 我有一個工作代碼,可以讀取整個頁面的源代碼,然后使用正則表達式刪除不需要的部分,但是這似乎很慢。

我正在閱讀財務信息,並且只想從每一頁中提取一個數字,因此實際上並不想每次都盡可能閱讀整個頁面。

這就是我在Perl中所擁有的:

use LWP::Simple;
my $mult;
my $url = 'http://www.wikinvest.com/stock/Apple_(AAPL)/Data/Net_Income/2014/Q1';

$content = get($url);

$content =~ s/\R//g; # remove linebreaks
$content =~ s/.*\<div class="nv_lefty" id="nv_value">//; # remove everything before tag
$content =~ s/\<.*//g; # remove everything after <...

if ($content =~ s/billion//) {$mult = 1e9;}
elsif ($content =~ s/million//) {$mult = 1e6;}
else {$mult = 1;}

$content =~ s/[^\d.-]//g; # keep numbers, commas and - only
$content = $content * $mult;

get($url)命令的速度很慢,因為它會提取大量數據,而我只對單個數字感興趣。 有更快的方法嗎? 我查看了HTML :: TableExtract,但我認為提取的數字不在標准HTML表格中。 也不確定是否會更快。

看一下Web :: Scraper而不是使用正則表達式。 這樣的事情可以為您節省很多時間,並且不易出錯。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM