【发布时间】:2011-04-26 07:47:18
【问题描述】:
我需要一个可以抓取网站并以纯文本或类似格式返回所有抓取页面列表的脚本;我将作为站点地图提交给搜索引擎。我可以使用 WGET 生成网站的站点地图吗?或者是否有一个 PHP 脚本可以做到这一点?
【问题讨论】:
标签: php wget web-crawler bots
我需要一个可以抓取网站并以纯文本或类似格式返回所有抓取页面列表的脚本;我将作为站点地图提交给搜索引擎。我可以使用 WGET 生成网站的站点地图吗?或者是否有一个 PHP 脚本可以做到这一点?
【问题讨论】:
标签: php wget web-crawler bots
你可以使用这个 perl 脚本来解决这个问题:http://code.google.com/p/perlsitemapgenerator/
【讨论】:
wget --spider --recursive --no-verbose --output-file=wgetlog.txt http://somewebsite.com
sed -n "s@.\+ URL:\([^ ]\+\) .\+@\1@p" wgetlog.txt | sed "s@&@\&@" > sedlog.txt
这将创建一个名为sedlog.txt 的文件,其中包含在指定网站上找到的所有链接。您可以使用 PHP 或 shell 脚本将文本文件站点地图转换为 XML 站点地图。调整 wget 命令的参数(接受/拒绝/包含/排除)以仅获取您需要的链接。
【讨论】:
--wait=1在请求之间添加一个小的延迟,否则可能会影响站点的性能。
teeunix.stackexchange.com/a/128476/312058你也可以在stdout中看到输出或者tail -f更好
gsed 而不是内置的 sed。感谢您的提示!