从字符串中的链接获取网站标题
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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
请参阅LWP::UserAgent。干杯:-)
See LWP::UserAgent. Cheers :-)
我使用 URI::Find::Simple 的 list_uris 方法和 URI::Title 为此。
I use URI::Find::Simple's list_uris method and URI::Title for this.
根据给出链接的方式以及定义标题的方式,您需要一种或另一种方法。
在您所呈现的具体场景中,使用
URI::Find
< 获取 URL /a>、HTML::LinkExtractor
等,然后我的 $title=URI->new($link)->path()
将提供标题和链接。但是,如果网站标题是链接文本,例如
标记
,然后如何在 Perl 中从 HTML 中提取 URL 和链接文本? 将为您提供答案。如果标题编码在链接本身中,并且链接是链接的文本本身,那么如何定义标题?
一如既往,从琐碎的首次实现到涵盖所有极端情况是一项艰巨的任务;-)
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 thenmy $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?
As always going from trivial first implementation to cover all corner cases is a daunting tasks ;-)