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

     2023-03-13     83

关键词:

【中文标题】我可以使用 WGET 生成给定 URL 的网站的站点地图吗?【英文标题】:Can I use WGET to generate a sitemap of a website given its URL? 【发布时间】:2011-04-26 07:47:18 【问题描述】:

我需要一个可以抓取网站并以纯文本或类似格式返回所有抓取页面列表的脚本;我将作为站点地图提交给搜索引擎。我可以使用 WGET 生成网站的站点地图吗?或者是否有一个 PHP 脚本可以做到这一点?

【问题讨论】:

【参考方案1】:

你可以使用这个 perl 脚本来解决这个问题:http://code.google.com/p/perlsitemapgenerator/

【讨论】:

它会通过扫描文件系统生成,但不会“爬取”。我要抓取的网站是动态的。【参考方案2】:
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 命令的参数(接受/拒绝/包含/排除)以仅获取您需要的链接。

【讨论】:

+1 不能完全使用它,因为它给了我一堆错误(可能是因为不同的 wget/sed 版本)。但是一旦我做了一些调整,它就像一个魅力。谢谢! 您应该使用--wait=1在请求之间添加一个小的延迟,否则可能会影响站点的性能。 结合teeunix.stackexchange.com/a/128476/312058你也可以在stdout中看到输出或者tail -f更好 @Julian 是的,我遇到了同样的问题。在 macOS 上,我必须使用 gsed 而不是内置的 sed。感谢您的提示!

如何使用硒浏览整个网站?

...selenium?【发布时间】:2014-08-0702:39:58【问题描述】:是否可以使用selenium浏览给定URL(网站)的所有URI?我的目标是使用selenium和我选择的给定URL启动firefox浏览器(感谢这个网站,我知道该怎么做),然后让firefox浏览URL(网站)... 查看详情

爬取网站并仅返回 URL

...键是我实际上并不想要内容,而是一个简单的URI列表。我可以通过Wget使用--spider选项相当接近这个想法,但是当通过grep管道输出时,我似乎找不到合适的魔法来让它发挥作用:wget--spider--force-html-r-l1ht 查看详情

使用我的 curl 代码可以为目标网站生成多少带宽?

】使用我的curl代码可以为目标网站生成多少带宽?【英文标题】:HowmuchbandwidthdoIgeneratetodestinationwebsitewithmycurlcode?【发布时间】:2011-07-2702:18:24【问题描述】:我使用这个函数从另一个网站加载一些源代码。函数getWebPageSourceCurl(... 查看详情

通过命令行工具从给定 url 生成 har 文件的详细过程

...dlinetool【发布时间】:2012-05-2315:33:29【问题描述】:有人可以建议如何通过linux中的命令行从给定的url生成har文件吗?非常感谢使用的详细工具和指南。谢谢【问题讨论】:【参考方案1】:您可以使用phantomjs进行这项工作。ph 查看详情

给定 wget 命令的 Python 等效项

】给定wget命令的Python等效项【英文标题】:Pythonequivalentofagivenwgetcommand【发布时间】:2014-08-1208:50:55【问题描述】:我正在尝试创建一个与此wget命令执行相同操作的Python函数:wget-c--read-timeout=5--tries=0"$URL"-c-如果下载中断,请从... 查看详情

使用 wget 但忽略 url 参数

】使用wget但忽略url参数【英文标题】:Usingwgetbutignoreurlparameters【发布时间】:2014-11-0413:19:55【问题描述】:我想下载构建URL的网站的内容http://www.example.com/level1/level2?option1=1&option2=2在URL中,每个页面只有http://www.example.com/level... 查看详情

如何使用 R 截取网站?

...了agoodsolutioninRuby和python,所以我想知道类似的东西是否可以在R中工作。基本上,给定一个URL,我想呈现该URL,将呈现的屏幕截图保存为.png,并将屏幕截图保存到指定文件夹。我想在无头linux服务器上完成 查看详情

可生成/管理/可自定义地址的短链接url网站

参考技术A这是一个简单的短链接URL生成/管理网站,可以实现长链接缩短,方便好记,有以下特点:直接生成短链接URL如果只是简单的生成使用短链接URL的话,可以直接在网站首页(url.vps.re)生成。第一行填写要缩短的长链接,如... 查看详情

使用 WGET 运行 cronjob PHP

...*wgethttp://www.example.com/cronit.php除了wget之外,还有其他命令可以用来运行u 查看详情

wget递归下载整个网站(网站扒皮必备)

...,学习学习。分享一个我常用网站扒皮命令wget这个命令可以以递归的方式下载整站,并可以将下载的页面中的链接转换为本地链接。wget加上参数之后,即可成为相当强大的下载工具。wget命令详解:wget-r-p-np-khttp://xxx.com/xxx-r,--rec... 查看详情

wget403错误解决

参考技术Achrome浏览器可以打开目标URL,但wget立即返回403Forbidden。原因是目标网站屏蔽掉了wget的useragent。解决办法很简单,wget模拟下浏览器的useragent即可wget-U"浏览器的网络中看一下UserAgent后面的字符串"URL 查看详情

bash[script]-使用wget下载网站

<ol><li>saveasfilename.sh</li><li>chmodu+xfilename.sh</li><li>usage:./filename.sh"url"</li></ol>#!/bin/bash#usethisscriptfordownloadingwebsitesusing'wget'utility#replaceURLfieldwiththeURLtobedownloaded URL="$1" wget-Nrkpl0... 查看详情

使用wget镜像网站

Ifthiscommandseemstorunforever,it'sbecausetheremaybepartsofthesitethatgenerateaninfiniteseriesofdifferentURLs.Youcansolvethisinmanyways,thesimplestbeingtousethe-loptiontospecifyhowmanylinks“away”fromthehomepagewgetshouldtravel.Forinstance,-l3willrefusetodownloadpagesmorethanthreecli... 查看详情

为啥 curl 允许使用文件 URL 方案,但不允许使用 wget

...et1.13.4,我不知道答案是否特定于版本。使用fileURIscheme我可以使用curl获取本地文件 查看详情

如何使用 wget 从网站下载所有文件(但不是 HTML)?

】如何使用wget从网站下载所有文件(但不是HTML)?【英文标题】:Howtodownloadallfiles(butnotHTML)fromawebsiteusingwget?【发布时间】:2012-02-0400:41:16【问题描述】:如何使用wget并从网站获取所有文件?我需要除网页文件以外的所有文件... 查看详情

使 wget 从 bash 直接下载文件到磁盘

...:15:00【问题描述】:在网站上,使用我的凭据登录后,我可以通过将url地址更改为以下变体来下载daa:https://data.somewhere.com/DataDownload/getfile.jsp?ccy=AUDUSD&df=BBO& 查看详情

给定输入生成真值表?

...】:2011-03-3102:21:22【问题描述】:有没有一种智能算法,可以在多维数组或容器中获取多个概率并生成对应的真值表例如:n=3N:[000001010...111]我可以使用for循环和Ifs来做到这一点,但我知道我的方法会很慢而且很耗时。所以,我... 查看详情

根据请求url动态生成网页(代码片段)

...显示一些默认页面。这是我到目前为止所取得的成果:我可以在.htaccess文件中添加以下内容。这会将请求重定向到我网站上的任何网址到主页:RewriteEngineOnRewriteRule^.+$/[R=302,NC,L]然后我需要使用javascript获取所请求的(可能是referer... 查看详情