Parsing 获取数据的crawler4J的高效设计

Parsing 获取数据的crawler4J的高效设计,parsing,web-crawler,crawler4j,Parsing,Web Crawler,Crawler4j,我正在尝试从各种网站获取数据。在搜索堆栈溢出后,我使用了crawler4j,正如许多人建议的那样。以下是我的理解/设计: 1. Get sitemap.xml from robots.txt. 2. If sitemap.xml is not available in robots.txt, look for sitemap.xml directly. 3. Now, get the list of all URL's from sitemap.xml 4. Now, fetch

我正在尝试从各种网站获取数据。在搜索堆栈溢出后,我使用了crawler4j,正如许多人建议的那样。以下是我的理解/设计:

 1. Get sitemap.xml from robots.txt.
 2. If sitemap.xml is not available in robots.txt, look for sitemap.xml directly.  
 3. Now, get the list of all URL's from sitemap.xml 
 4. Now, fetch the content for all above URL's
 5. If sitemap.xml is also not available, then scan entire website.
现在,你能让我知道,crawler4J是否能够完成步骤1、2和3??? 请建议有更好的设计可用(假设没有提要可用) 如果是的话,请你指导我怎么做

谢谢
Venkat

我从未使用过crawler4j,所以请恕我直言: 我认为这可以由爬虫来完成,但是看起来你必须修改一些代码。具体来说,您可以查看。您必须修改解析器以提取站点地图,并在指令中创建一个新字段以返回
sitemap.xml
。如果没有从sitemap.txt返回任何指令,则可以在获取程序中执行步骤3


然而,我不确定你通过查看
sitemap.txt获得了什么:除非你想找一些具体的东西,否则这似乎是一件无用的事情。

我从来没有使用过crawler4j,所以请恕我直言: 我认为这可以由爬虫来完成,但是看起来你必须修改一些代码。具体来说,您可以查看。您必须修改解析器以提取站点地图,并在指令中创建一个新字段以返回
sitemap.xml
。如果没有从sitemap.txt返回任何指令,则可以在获取程序中执行步骤3


然而,我不确定通过查看
sitemap.txt获得了什么:除非你在寻找特定的东西,否则这似乎是一件无用的事情。

Crawler4J无法执行步骤1、2和3,但是它在步骤4和5中执行得相当好。我的建议是使用JavaHTTP客户端,比如 获取站点地图。使用任何JavaXML解析器解析XML,并将URL添加到集合中。然后使用以下列表填充crawler4j种子:

for(String url : sitemapsUrl){
 controller.addSeed(url);
}
controller.start(YourCrawler, nbthreads);

Crawler4J无法执行步骤1、2和3,但是它在步骤4和5中执行得相当好。我的建议是使用JavaHTTP客户端,比如 获取站点地图。使用任何JavaXML解析器解析XML,并将URL添加到集合中。然后使用以下列表填充crawler4j种子:

for(String url : sitemapsUrl){
 controller.addSeed(url);
}
controller.start(YourCrawler, nbthreads);

任何帮助都将不胜感激…任何帮助都将不胜感激…谢谢。我听说有些网站会在sitempap.xml(robots.txt中提到)中提供所有产品url的列表。我认为浏览sitemap.xml是一个不错的选择,而不是对整个网站进行爬行。还有,我猜爬网可能会给你一些不必要的链接(faq等…)还有,你说呢?实际上我的要求是获得不同类别的所有URL的列表,如书籍、手机、笔记本电脑等,类似于pricegrabber.Thx Lirik。我听说有些网站会在sitempap.xml(robots.txt中提到)中提供所有产品url的列表。我认为浏览sitemap.xml是一个不错的选择,而不是对整个网站进行爬行。还有,我猜爬网可能会给你一些不必要的链接(faq等…)还有,你说呢?实际上,我的要求是获得不同类别的所有URL的列表,如书籍、手机、笔记本电脑等,类似于pricegrabber。