Как я могу экранировать царапанье с Perl?

если вы просто хотите, чтобы все строки для данного SeqNo имели более 1 статуса «Завершено»:

SELECT
  *
FROM
  B
WHERE
  SeqNo IN (
    SELECT
      SeqNo
    FROM
      B
    WHERE
      Status='Completed'
    GROUP BY
      SeqNo
    HAVING
      COUNT(*) > 1); 

Это синтаксис Oracle. Надеюсь, у вас есть индекс по полю SeqNo.

7
задан 15 revs, 6 users 29% 3 April 2009 в 21:41
поделиться

9 ответов

Если Вы знакомы с jQuery, Вы могли бы хотеть проверить pQuery, который делает это очень легким:

## print every <h2> tag in page
use pQuery;

pQuery("http://google.com/search?q=pquery")
    ->find("h2")
    ->each(sub {
        my $i = shift;
        print $i + 1, ") ", pQuery($_)->text, "\n";
    });

Существует также HTML:: DOM.

Независимо от того, что Вы, тем не менее, делаете не, используют регулярные выражения для этого.

6
ответ дан 6 December 2019 в 08:45
поделиться

Если Вы знакомы с XPath, можно также использовать HTML:: TreeBuilder:: XPath. И если Вы не... хорошо, необходимо быть;-)

2
ответ дан 6 December 2019 в 08:45
поделиться

Для подобного Stackoverflow вопросы взглянули на....

Мне действительно нравится использовать pQuery для вещей как это однако сеть:: Скребок действительно выглядит интересным.

2
ответ дан 6 December 2019 в 08:45
поделиться

Хотя я обычно делал это с LWP/LWP:: Простой, текущим 'предпочтительным' модулем для любого вида очистки веб-страницы в Perl является WWW:: Механизировать.

3
ответ дан 6 December 2019 в 08:45
поделиться

Я использовал Извлечение HTML-таблицы в прошлом. Я лично нахожу это немного неуклюжим для использования, но возможно я не понял объектной модели хорошо. Я обычно использую эту часть руководства для исследования данных:

 use HTML::TableExtract;
 $te = HTML::TableExtract->new();
 $te->parse($html_string);

     # Examine all matching tables
     foreach $ts ($te->tables) {
       print "Table (", join(',', $ts->coords), "):\n";
       foreach $row ($ts->rows) {
          print join(',', @$row), "\n";
       }
     }`
4
ответ дан 6 December 2019 в 08:45
поделиться

Я использую LWP:: UserAgent для большинства моих потребностей анализа экранных данных. Можно также Связать это с HTTP::Cookies при необходимости в поддержке Cookie.

Вот простой пример о том, как получить источник.

use LWP;
use HTTP::Cookies;
my $cookie_jar = HTTP::Cookies->new;
my $browser = LWP::UserAgent->new;
$browser->cookie_jar($cookie_jar);

$resp = $browser->get("https://www.stackoverflow.com");
if($resp->is_success) {
   # Play with your source here
   $source = $resp->content;
   $source =~ s/^.*<table>/<table>/i; # this is just an example 
   print $source;                     # not a solution to your problem.
}
0
ответ дан 6 December 2019 в 08:45
поделиться

Я не хочу перетаскивать мертвую ветку, но любой, кто ищет в этой теме в Google, должен также проверить WWW :: Scripter - 'Для скриптовых веб-сайтов, на которых есть скрипты'

удачного удаленного агрегирования данных;)

1
ответ дан 6 December 2019 в 08:45
поделиться

Взгляните на волшебный Web :: Scraper , это инструмент для парсинга веб-страниц.

1
ответ дан 6 December 2019 в 08:45
поделиться

Посмотрите этот небольшой пример извлечения веб-страниц с помощью perl: текст ссылки

0
ответ дан 6 December 2019 в 08:45
поделиться
Другие вопросы по тегам:

Похожие вопросы: