0

我实现了一个爬虫,它执行以下操作:

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

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

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

也许是因为短途试图自动完成相对链接以在 url 末尾而不是在基本页面上连接链接。

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

有没有什么办法可以解决这个问题?

4

1 回答 1

0

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

该错误已在 Jaunt API 的 1.1.3 版中得到识别和修复:http: //jaunt-api.com/Jaunt%201.1.3%20Release%20Notes.txt

于 2016-01-25T11:35:41.100 回答