从字符串中的链接获取网站标题

发布于 2024-10-30 00:30:25 字数 208 浏览 1 评论 0原文

string: "这是徽章,https://stackoverflow.com/badges bla bla bla"

如果字符串包含链接(见上文)我想解析该链接的网站标题。

它应该返回:徽章 - 堆栈内存溢出。

我怎样才能做到这一点?

谢谢。

string: "Here is the badges, https://stackoverflow.com/badges bla bla bla"

If string contatins a link (see above) I want to parse the website title of that link.

It should return : Badges - Stack Overflow.

How can i do that?

Thanks.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

踏雪无痕 2024-11-06 00:30:25
#!/usr/bin/perl -w

require LWP::UserAgent;

my $ua = LWP::UserAgent->new;
$ua->timeout(10);
$ua->env_proxy;

my $response = $ua->get('http://search.cpan.org/');

if ($response->is_success) {
    print $response->title();
}
else {
    die $response->status_line;
}

请参阅LWP::UserAgent。干杯:-)

#!/usr/bin/perl -w

require LWP::UserAgent;

my $ua = LWP::UserAgent->new;
$ua->timeout(10);
$ua->env_proxy;

my $response = $ua->get('http://search.cpan.org/');

if ($response->is_success) {
    print $response->title();
}
else {
    die $response->status_line;
}

See LWP::UserAgent. Cheers :-)

痞味浪人 2024-11-06 00:30:25

我使用 URI::Find::Simple 的 list_uris 方法和 URI::Title 为此。

I use URI::Find::Simple's list_uris method and URI::Title for this.

累赘 2024-11-06 00:30:25

根据给出链接的方式以及定义标题的方式,您需要一种或另一种方法。

在您所呈现的具体场景中,使用 URI::Find< 获取 URL /a>、HTML::LinkExtractor 等,然后 我的 $title=URI->new($link)->path()将提供标题和链接。

但是,如果网站标题是链接文本,例如 标记,然后如何在 Perl 中从 HTML 中提取 URL 和链接文本? 将为您提供答案。

如果标题编码在链接本身中,并且链接是链接的文本本身,那么如何定义标题?

  1. 您是否想要在任何查询之前获取 URI 的最后一位?将查询设置为 URL 路径会发生什么情况?
  2. 您想要主机和查询之间的部分吗?
  3. 您想解析链接源并检索标题标签(如果有)吗?

一如既往,从琐碎的首次实现到涵盖所有极端情况是一项艰巨的任务;-)

Depending how the link is given and how you define title, you need one or other approach.

In the exact scenario that you have presented, getting the URL with URI::Find, HTML::LinkExtractor etc, and then my $title=URI->new($link)->path() will provide the title and the link.

But if the website title is the linked text like <a href="https://stackoverflow.com/badges"> badged</a>, then How can I extract URL and link text from HTML in Perl? will give you the answer.

If the title is encoded in the link itself and the link is the text itself of the link, how do you define the title?

  1. Do you want the last bit of the URI before any query? What happens with the queries set as URL paths?
  2. Do you want the part between the host and the query?
  3. Do you want to parse the link source and retrieve the title tag if any?

As always going from trivial first implementation to cover all corner cases is a daunting tasks ;-)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文