我实现了一个爬虫,它执行以下操作:
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&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 末尾而不是在基本页面上连接链接。
这些创建的新链接由于某种原因是正确的,然后总是有新的链接要访问,这种情况会无限期地发生,并且这个过程永远不会结束。
有没有什么办法可以解决这个问题?