bash脚本缓存加热器/站点爬虫

时间:2013-11-19 14:30:32

标签: bash magento caching web-crawler

我正在尝试运行使用我的sitemap.xml的网站抓取工具 我已经在magento上运行了清漆,我想在清理它之后预热缓存。

我正在使用turpentine's warm cache script,但由于某种原因,它会获得0个网址。

我的xml是here

我已经对它进行了一些研究,我无法想出一个bash脚本来获取我的xml中的url ..不幸的是我不是linux大师。 你能帮我提一些技巧/文档链接吗?任何帮助将非常感激, 谢谢。

稍后编辑:

当我运行warm-cache.sh时,我得到了

 Getting URLs from sitemap... 
 Warming 0 URLs using 4 processes...

我还找到了一个很好的抓取脚本:

wget -O - easyfarm.ro/sitemap.xml | grep -E -o '<loc>.*</loc>' | sed -e 's/<loc>//g' -e 's/<\/loc>//g' | wget -i - -p -r -leve=2 --delete-after

然而,它也没有访问任何网址,我得到:

--2013-11-19 16:53:16--  http://easyfarm.ro/sitemap.xml
Resolving easyfarm.ro (easyfarm.ro)... 188.240.47.148
Connecting to easyfarm.ro (easyfarm.ro)|188.240.47.148|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [text/xml]
Saving to: `STDOUT'

    [ <=>                                                                                             ] 7,703       --.-K/s   in 0s

2013-11-19 16:53:17 (883 MB/s) - written to stdout [7703]

2 个答案:

答案 0 :(得分:3)

确保已安装xpath并可供脚本使用。

更一般地说,确保脚本中调用的每个命令都可用 - xpathcurlsedgrepcat,{{1 },xargssiege。其中一些在大多数系统上都是默认可用的,有些则不是。

安装程序因每个分发而异。例如,在Ubuntu Linux中,您可以使用rm获取apt-get install libxml-xpath-perl

答案 1 :(得分:0)

我们遇到了松节油变暖的问题所以写了我们自己的bash脚本。 它首先使用wget来获取url列表。 然后它使用卷曲来加热你正在运行的许多清漆缓存。

https://gist.github.com/jaseclamp/27c4b74e535ddd749bbe

如果您正在使用它,那里还有用于清除mod pagespeed的代码。 如果不适用可以评论。