Найти - Пользователи
Полная версия: Нужен совет по логике парсера
Начало » Python для новичков » Нужен совет по логике парсера
1 2
terabayt
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]
psyh
terabayt
Спасибо. Так действительно проще чем я планировал.
a - список ссылок собранный на текущей странице
l - белый список всех ссылок

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

sortedcontainers
psyh
В Linux действительно есть встроенный парсер, работает как танк - это Wget (есть и под Винду кажется).
Всегда под рукой, часто пользуюсь, но и не подозревал о его реальных возможностях, пока не наткнулся на него в поиске, думал он просто для того чтобы скачать файл по ссылке. На самом деле у него довольно богатые возможности, и он не спотыкается об кириллические имена в ссылках, запятые, скобки и т.п. неудобные символы.
В общем реализовал свою задачу им. Но все равно хочу дописать парсер из интереса. Я сейчас учу Питон, по Доусону, но там надуманные задачи, их скучновато решать, а тут возникла практическая задача, даже жаль что нашелся более простой способ ))
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB