Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Can I use WGET to generate a sitemap of a website given its URL?

I need a script that can spider a website and return the list of all crawled pages in plain-text or similar format; which I will submit to search engines as sitemap. Can I use WGET to generate a sitemap of a website? Or is there a PHP script that can do the same?

like image 399
Salman A Avatar asked Oct 16 '10 12:10

Salman A


2 Answers

wget --spider --recursive --no-verbose --output-file=wgetlog.txt http://somewebsite.com
sed -n "s@.\+ URL:\([^ ]\+\) .\+@\1@p" wgetlog.txt | sed "s@&@\&@" > sedlog.txt

This creates a file called sedlog.txt that contains all links found on the specified website. You can use PHP or a shell script to convert the text file sitemap into an XML sitemap. Tweak the parameters of the wget command (accept/reject/include/exclude) to get only the links you need.

like image 96
Salman A Avatar answered Oct 18 '22 06:10

Salman A


You can use this perl script to do the trick : http://code.google.com/p/perlsitemapgenerator/

like image 22
Gilles Quenot Avatar answered Oct 18 '22 06:10

Gilles Quenot