Уведомления

Группа в Telegram: @pythonsu

#1 Авг. 12, 2015 10:06:15

terabayt
От: Киев
Зарегистрирован: 2011-11-26
Сообщения: 1099
Репутация: +  103  -
Профиль   Отправить e-mail  

Нужен совет по логике парсера

psyh
Собственно про логику я и сапрашивал в самом начале.
я о том что парсить все ссылки это не совсем правильно
так как нужно или что-то определенное, тогда мы берем по каком-то условию (структура, имя класса, иди и т.п.) и тогда не должно быть одинаковых ссылок
или нужно забрать весь сайт и тогда можно воспользоваться готовыми, уже продуманными, программами
но если хотите сами, то тогда можно, по простому, просто проверять not in
>>> a = [1,2,1,3,1,6,2,3,5]
>>> l = []
>>> for i in a:
...     if i not in l:
...         l.append(i)
... 
>>> print l
[1, 2, 3, 6, 5]
>>> #  или же
>>> l2 = []
>>> i = 0
>>> while i < len(a):
...     if a[i] not in l2:
...         l2.append(a[i])
...     i += 1
... 
>>> print l2
[1, 2, 3, 6, 5]



————————————————
-*- Simple is better than complex -*-

Офлайн

#2 Авг. 12, 2015 10:22:37

psyh
От: Красноярск
Зарегистрирован: 2015-07-07
Сообщения: 24
Репутация: +  0  -
Профиль   Отправить e-mail  

Нужен совет по логике парсера

terabayt
Спасибо. Так действительно проще чем я планировал.
a - список ссылок собранный на текущей странице
l - белый список всех ссылок

Мне не нужно копировать сайт целиком, мне нужны только изображения с него, с сохранением структуры папок.
Спасибо за помощь, думаю полученой информации достаточно чтобы осуществить задуманное.

Офлайн

#3 Авг. 12, 2015 10:31:20

ayb
Зарегистрирован: 2014-04-01
Сообщения: 297
Репутация: +  24  -
Профиль   Отправить e-mail  

Нужен совет по логике парсера

psyh
Если бы можно было добавлять новые элементы множества именно в конец, и обращаться к n-ному элементу множества, то я представляю как сделать все с один множеством. Иначе нужно делать два списка - черный и белый.

sortedcontainers

Офлайн

#4 Авг. 14, 2015 20:20:10

psyh
От: Красноярск
Зарегистрирован: 2015-07-07
Сообщения: 24
Репутация: +  0  -
Профиль   Отправить e-mail  

Нужен совет по логике парсера

В Linux действительно есть встроенный парсер, работает как танк - это Wget (есть и под Винду кажется).
Всегда под рукой, часто пользуюсь, но и не подозревал о его реальных возможностях, пока не наткнулся на него в поиске, думал он просто для того чтобы скачать файл по ссылке. На самом деле у него довольно богатые возможности, и он не спотыкается об кириллические имена в ссылках, запятые, скобки и т.п. неудобные символы.
В общем реализовал свою задачу им. Но все равно хочу дописать парсер из интереса. Я сейчас учу Питон, по Доусону, но там надуманные задачи, их скучновато решать, а тут возникла практическая задача, даже жаль что нашелся более простой способ ))

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version