Уведомления

Группа в Telegram: @pythonsu

#1 Дек. 21, 2015 15:05:42

darlock
Зарегистрирован: 2015-09-16
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

странный прикол в простом коде

потихоньку изучаю питон и решил написать простенький парсер (код ниже)
по задумке почти все работает, но есть одно НО с которым пока не могу справиться

ссылки проверял все живые и рабочие
<li><a href=“VOLVO%20850R%202.3T%200261204134%201037358586%20Auto.rar”> VOLVO 850R 2.3T 0261204134 1037358586 Auto.rar</a></li>
<li><a href=“VOLVO%20XC90%20D5_0281011441_120KW.ZIP”> VOLVO XC90 D5_0281011441_120KW.ZIP</a></li>

вот первую ссылку мой код пропускает, вторую берет
визуально в ссылках только одно отличие - расширение, скрипт берет только с zip игнорируя rar и прочие
голову сломал
дебажить пробовал, не могу понять причину по которой часть href в которой расширения отличные от .zip пропускаются…
гугла мучил

from grab import Grab
import os
import urllib
import logging
url = ''
dir = []
links = []
logging.basicConfig(level=logging.DEBUG)
g = Grab()
g.go(url)
if not os.path.exists('links.txt'):
    for j in g.doc.select('//a'):
        if 'directory' in j.attr('href'):
            dir.append(j.attr('href'))
    lout = open('links.txt', 'w')
    for k in dir:
        name = k[k.find('directory=')+10:]
        try:
            os.mkdir(name)
        except WindowsError:
            g.go(url+k)
            for j in g.doc.select('//a'):
                tl = j.attr('href')
                lout.write(tl+'\n')
    lout.close()
else:
    for line in open('links.txt','r'):
        if 'filename=' in line:
            fname = line[line.find('filename=')+9:line.find('&dir')]
            current_dir = line[line.find('directory=')+10:]
            print (url+'files/'+current_dir+'/'+fname)

Отредактировано darlock (Дек. 21, 2015 17:50:10)

Офлайн

#2 Дек. 21, 2015 18:25:12

darlock
Зарегистрирован: 2015-09-16
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

странный прикол в простом коде

дело с мертвой точки стронулось, похожу баг в grab

при загрузке бьется часть тегов на странице

сам дурак называется) часть страниц битая и ссылки не завернуты в теги, заметил только поковырявшись в сайте поосновательней

Отредактировано darlock (Дек. 22, 2015 11:34:54)

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version