我需要开发一个抓取工具,它会抓取网站上的所有产品链接和价格。我听说在robots.txt文件中提到它更有效和快速使用Sitemap,但我无法弄清楚如何使用站点地图进行抓取。请有人帮我如何使用Sitemap抓取。
感谢。
答案 0 :(得分:2)
正如您所说,您想要创建一个抓取工具,并且您想要使用robots.txt上提供的站点地图,那么您需要执行以下操作。
1)任何网站都会在第一级网站上安装robots.txt。因此,对于您想要抓取的任何网站,您都可以进行解析
http://any-websitesite-name.com/robots.txt
Sitemap:
您可以用Java编写解析器。例如:http://www.javapractices.com/topic/TopicAction.do?Id=87
2)完成后,您将获得站点地图网址(可以是.xml或.xml.gz)
3)编写一个Java digester来解析xml。以下是一个示例:http://devguru.com/features/tutorials/jakarta/jakarta.asp
请务必阅读任何网址的<loc>..</loc>
标记
注意:很多网站都没有robots.txt上的站点地图网址..如果在robots.txt上没有这个网址,最好点击http://website-name/sitemap.xml
。
希望有所帮助。
答案 1 :(得分:0)
要使用站点地图,您必须先拥有站点地图,因此您需要先生成站点地图。然后,Googlebot和其他人将使用您生成的站点地图为搜索引擎编制索引。有几个免费的站点地图生成器,例如http://www.xml-sitemaps.com,但它们有局限性。
AFAIK它并不需要对Java做很多事情。我的意思是,你可以用Java轻松地创建一个爬虫,但我不认为它是值得的。如果网站不是太大,免费版本可以很好地完成工作。
答案 2 :(得分:0)
robots.txt提供排除列表,用于警告cralwer尊重排除以避免提及目录。并非所有网站都提供排除。网站地图有助于更好地了解产品的分类和因此很有用。