Jaunt Webcrawler API没有正确对待相对URL

时间:2016-01-23 14:43:33

标签: web-scraping web-crawler jaunt-api

我实现了一个类似于:

的抓取工具
repeat
 Visit each page and get all links that have not been visited.
until no new links

正在抓取的网页是

https://www.mercadoribeirao.com.br

我获得了所有链接:

<a href="produtos.php?id_sub=104&amp;fruta-nacional" class="new_sub_menu">
                            Fruta Nacional                      </a>

在第一页中,它正确地获取链接:

https://www.mercadoribeirao.com.br/produtos.php?id_sub=253&espumante-nacional
https://www.mercadoribeirao.com.br/produtos.php?id_sub=245&frances
https://www.mercadoribeirao.com.br/produtos.php?id_sub=246&italiano
https://www.mercadoribeirao.com.br/produtos.php?id_sub=248&nacional
https://www.mercadoribeirao.com.br/produtos.php?id_sub=414&outros

但是当它访问子页面时,网址连接不正确:

https://www.mercadoribeirao.com.br/produtos.php?id_sub=388&micoses/calos/produtos.php?id_sub=388&micoses/calos/produtos.php?id_sub=388&micoses/calos/produtos.php?id_sub=388&micoses/calos/produtos.php?id_sub=197&salgadinho-e-snack
https://www.mercadoribeirao.com.br/produtos.php?id_sub=388&micoses/calos/produtos.php?id_sub=388&micoses/calos/produtos.php?id_sub=388&micoses/calos/produtos.php?id_sub=388&micoses/calos/produtos.php?id_sub=198&sardinha,-atum-e-cia
https://www.mercadoribeirao.com.br/produtos.php?id_sub=388&micoses/calos/produtos.php?id_sub=388&micoses/calos/produtos.php?id_sub=388&micoses/calos/produtos.php?id_sub=388&micoses/calos/produtos.php?id_sub=199&sopas-e-cremes

也许是因为jaunt尝试自动完成相对链接以连接url末尾的链接而不是基页。

由于某种原因,这些新创建的链接是正确的,然后总会有新的链接被访问,这种情况会无限期地发生,并且流程永远不会结束。

是否有解决此问题的解决方法?

1 个答案:

答案 0 :(得分:0)

该错误与以“/”结尾的网址相关。当必须将相对于绝对链接转换为这些文档时,它会误解自己。

在Jaunt API 1.1.3版中识别并修复了该错误:http://jaunt-api.com/Jaunt%201.1.3%20Release%20Notes.txt