2011-06-26 59 views
0

我有一个文件,每行包含一些URL。我需要提取标签中的“关键字”,即如果有“关键字”的元标签,那么我想为它获取“内容”值。例如:如果网页有这个元标记,那么我想要“维基百科,百科全书”提取该URL。使用wget提取元标签属性

一种方法是使用“wget”下载网页,然后使用一些标准的HTML解析器解析它。

我想知道有没有更好的方式来做到这一点,而无需下载整个网页。

回答

0

您所描述的是最简单的解决方案。

如果您担心产生的网络流量,您可以编写一个只读取标题的小程序。只要您阅读<body..>标签,您就可以完成下载。

更新:你必须为你的套接字设置一个非常小的接收缓冲区,否则内核可能仍会下载整个页面。用tcpdump验证您的解决方案。

+0

但我如何处理网页,而仍然通过wget()下载? – Amit

+0

简单的答案是你没有。您可以执行'wget -O -'并处理'stdin',但是必须使用'sysctl'设置所有套接字的内核接收缓冲区,这当然不是一个好主意。你必须用C++或python或任何可以让你操作套接字的东西来编写它......如果这听起来太复杂了,那么你只需下载整个页面即可。 –