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