我正在使用this从网址中检索标题。
作为一个简单的例子,我有以下代码
use pQuery;
my $url = "http://google.com";
my $page = pQuery($url);
my $title = $page->find('title');
print $title->html;
但它不会打印任何内容。我使用不正确吗?
答案 0 :(得分:1)
看起来你正确使用它,但pQuery
有很多问题。其文档说 此模块仍在编写 ,但最新版本0.23已发布
十四个月前
在这种情况下,它会让人感到不安,因为它要求HTML文档以<html>
开头并以</html>
结尾,但Google主页以完全有效的
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
结果是它将整个页面包装在一对<dummy>
... </dummy>
标记中,这完全抛出HTML解析器。
如果你想获取网页的标题,我建议你使用优秀的Mojo::UserAgent
,就像这样
use strict;
use warnings 'all';
use v5.10;
use Mojo::UserAgent;
my $ua = Mojo::UserAgent->new->max_redirects(5);
my $url = 'https://www.google.co.uk/';
my $title = $ua->get($url)->res->dom->at('title')->text;
say qq{Title is: "$title"};
Title is: "Google"