使用 wget 提取元标记属性
我有一个文件,每行都有一些 URL。我需要提取标签中存在的“关键字”,即如果存在“关键字”的元标签,那么我想获取它的“内容”值。示例:如果网页具有此元标记,那么对于该 URL,我希望提取“维基百科,百科全书”。
一种方法是使用“wget”下载网页,然后使用一些标准 HTML 解析器对其进行解析。
我想知道是否有更好的方法可以在不下载整个网页的情况下执行此操作。
I have a file having some URLs per line. I need to extract the "keywords" present in the tags i.e. if there is meta tag for "keywords" then i want to get "content" value for it. Example: if the web-page has this meta-tag then for that URL i want "wikipedia,encyclopedia" to be extracted.
One approach is to download the web-page using "wget" and then parse it using some standard HTML parser.
I was wondering is there any better way to do this without downloading the entire web-page.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您所描述的是最简单的实施解决方案。
如果您担心生成的网络流量,您可以编写一个仅读取标头的小程序。一旦您阅读了
标签,您就可以完成下载。更新:您必须为套接字设置一个非常小的接收缓冲区,否则内核可能仍会下载整个页面。使用
tcpdump
验证您的解决方案。What you described is the simplest solution to implement.
If you worried about the network traffic generated you could write a small program that only reads the header. As soon as you read the
<body..>
tag you can finish downloading.Update: You have to set a very small receive buffer for you socket otherwise the kernel will probably still download the whole page. Verify your solution with
tcpdump
.