2016-04-25 3 views
0

Я читаю URL-адрес из CSV-файла, и я пытаюсь их разобрать. Почему я получаю только правильные значения в схемы и netloc когда я поставил ссылку в явной функции urlparse(...) см переменной o2 и не тогда, когда я даю newsource в urlparse?URL-адрес синтаксического анализа только работает явным

for line in file: 
    source = str(line.split(",")[2]) 
    print("ORIGINAL URL: \n" + source) 
    newsource = source.replace('"',"") 
    print("REMOVING QUOTES: \n" + newsource) 
    newsource.strip 
    print("STRIPPING SPACES: \n" + newsource + "\n") 
    o = urlparse(newsource) 
    print("RESULT PARSING: " + str(o) + "\n") 
    o2 = urlparse("http://nl.aldi.be/aldi_vlees_609.html") 
    print("RESULT MANUAL PARSING: " + str(o2) + "\n") 

Выход: enter image description here

+0

@wim я изменил это, но до сих пор не работает – Stanko

+0

мы не против ридеры здесь, вы должны показать нам, что вы изменили и лучше описать то, что не работает, прежде чем мы можем вам помочь – wim

ответ

1

Я могу видеть из неисправного разборе, что у вас есть ведущий космический характер, что может вызвать такую ​​же проблему у вас есть:

>>> urlparse.urlparse(' http://nl.aldi.be/aldi_vlees_609.html') 
ParseResult(scheme='', netloc='', path=' http://nl.aldi.be/aldi_vlees_609.html', params='', query='', fragment='') 

Эта строка не делает ничего :

newsource.strip 

Возможно, вы хотели:

newsource = newsource.strip() 
+0

Почему не работает newsource.strip(), как newsource = newsource.strip()? – Stanko

+1

@ Полоса Stanko не изменяет состояние текущего объекта, поэтому вам нужно назначить что-то еще, поскольку строка является неизменной. – danielfranca