BG Development


Страници: (2) 1 [2]   ( Първото ново мнение ) Reply to this topicStart new topicStart Poll

> Обхождане на всички линкове в сайт
SuN
Публикувано на: 22-02-2019, 11:25
Quote Post


Group Icon
Име:
Група: Администратор
Ранг: Почетен член

Мнения: 9632
Регистриран на: 27.01.05



Да се поправя - не направо, а с опцията "-r".


--------------------
Само аз не троля.
Всички коментари са плод на художествена измислица и нямат общо с действителни и недействителни лица, събития и факти.
PMEmail Poster
Top
Golden Gega
Публикувано на: 22-02-2019, 11:33
Quote Post



Име:
Група: Потребител
Ранг: Почетен член

Мнения: 1626
Регистриран на: 04.06.10



QUOTE (Zeardn @ 22-02-2019, 09:21)
Ако например знам колко на брой страници и линкове има в сайта, толкова и цикъла ще направя. Но като не знам колко наброй са, не се сещам как да го напиша. Изглежда като да обходиш дървовидна структура от данни. Не се сещам как може да стане това icon_sad.gif

Не е нужно да е дървовидна, но явно наистина не си се занимавал с кроулинг. Значи правиш един прост линеен списък от вида:

url/visited/datetime/...

1) Слагаш в спъка да кажем bgdev.org/false/today() и пускаш един кроулер.
2) Кроулера хваща първия url с visited=false, отваря url-а, взима всички линкове.
3) Тия линкове ги добавяш в списъка (избягваш дублажите, т.е. ако има линк дето вече съществува не го добавяш. а му пишеш наново datetime)
4) И така кроулера си върти докато има линкове с visited=false

По тази схема можеш да пуснеш паралелно да вървят N краулера, да четеш само линкове дето не са посещавани скоро (гледаш по datetime) и т.н. и т.н.

P.S. Допуснал съм правописна грешка в 4 - смених "няма" с "има"

Това мнение е било редактирано от Golden Gega на 22-02-2019, 11:39
PMEmail Poster
Top
samominavam
Публикувано на: 22-02-2019, 22:43
Quote Post



Име:
Група: Потребител
Ранг: Редовен член

Мнения: 355
Регистриран на: 22.08.17



Глупости на търкалета, специално за примера - почваш от
https://forums.bgdev.org/index.php?showtopic=1
и въртиш докато има нещо насреща.
Юзърите също
https://forums.bgdev.org/index.php?showuser=1
и останаха още няколко типа линка.




PMEmail Poster
Top
dedal
Публикувано на: 04-06-2019, 18:00
Quote Post



Име: Григор Колев
Група: Потребител
Ранг: Посетител

Мнения: 109
Регистриран на: 17.11.10



QUOTE (Zeardn @ 21-02-2019, 17:38)
Колеги, имате ли идея как мога да взема всички линкове, които се срещат в даден уеб сайт (и линковете в тези линкове и т.н.)?

Уеб адреса е произволен, например bgdev.org.

Ами колегата ти го е написал решението.
beautifulsoup
Взимаш си всички линкове и с for ги отваряш и пак взимаш всички и така докато не остане ни един.
Е и while ще трябва и да триеш вече изчетеното.
Ако са много си поиграй с мултипроцесите
PMEmail Poster
Top
1 потребители преглеждат тази тема в момента (1 гости, 0 анонимни потребители)
Потребители, преглеждащи темата в момента:

Topic Options Страници: (2) 1 [2]  Reply to this topicStart new topicStart Poll

 


Copyright © 2003-2019 | BG Development | All Rights Reserved
RSS 2.0