Php 我可以使用WGET生成给定URL的网站的站点地图吗?

Php 我可以使用WGET生成给定URL的网站的站点地图吗?,php,wget,web-crawler,bots,Php,Wget,Web Crawler,Bots,我需要一个脚本,可以蜘蛛网站,并返回在纯文本或类似格式的所有爬网页面列表;我将把它作为网站地图提交给搜索引擎。我可以使用WGET生成网站的站点地图吗?还是有一个PHP脚本可以做同样的事情 您可以使用此perl脚本执行以下操作: 这将创建一个名为sedlog.txt的文件,其中包含指定网站上的所有链接。您可以使用PHP或shell脚本将文本文件站点地图转换为XML站点地图。调整wget命令的参数(accept/reject/include/exclude)以仅获取所需的链接。它将通过扫描文件系统生

我需要一个脚本,可以蜘蛛网站,并返回在纯文本或类似格式的所有爬网页面列表;我将把它作为网站地图提交给搜索引擎。我可以使用WGET生成网站的站点地图吗?还是有一个PHP脚本可以做同样的事情

您可以使用此perl脚本执行以下操作:


这将创建一个名为
sedlog.txt
的文件,其中包含指定网站上的所有链接。您可以使用PHP或shell脚本将文本文件站点地图转换为XML站点地图。调整wget命令的参数(accept/reject/include/exclude)以仅获取所需的链接。

它将通过扫描文件系统生成,但不会“爬网”。我想要爬行的站点是动态的。+1不能像那样使用它,因为它给了我一大堆错误(可能是因为不同的wget/sed版本)。但一旦我做了一些调整,它就像一个魅力。谢谢您应该使用
--wait=1
在请求之间添加一个小的延迟,否则可能会影响站点的性能。与
tee
相结合,您还可以在stdout或
tail-f
中看到输出better@Julian是的,我也有同样的问题。在macOS上,我不得不使用
gsed
而不是内置的
sed
。谢谢你的提示!
wget --spider --recursive --no-verbose --output-file=wgetlog.txt http://somewebsite.com
sed -n "s@.\+ URL:\([^ ]\+\) .\+@\1@p" wgetlog.txt | sed "s@&@\&@" > sedlog.txt