2017-02-17 21 views
0

Я использую цикл for для сканирования по некоторым каталогам сайта.Строковая переменная Python3 продолжает messing мой urllib.request

for url in URL_list: 

    for paged in range(1,99): 
     fullURL=("%s/?count=96&paged=%s&p=&page_id="%(url,paged)) 

     print(fullURL) 
     source= urllib.request.urlopen(fullURL) 

Я получаю сообщение об ошибке http.client.BadStatusLine: <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> Я уверен, что эта проблема возникает из-за переменной fullURL строки, поскольку она печатается как http://www.somesite.com/category/new-items /?count=96&paged=1&p=&page_id=

EDIT 1 кажется «URL «переменная из списка сохраняется с пробелами.

+0

Как насчет 'page_id'? Он также должен быть указан, не так ли? Но это не в вашем примере. – Highstaker

+0

@Highstaker Кажется, что это не имеет значения. Проблема заключается не в URL-адресе, а в том, как он хранится и печатается. Каталог URL-адреса находится в следующей строке – Volpym

ответ

0

Так что мне удалось исправить его следующим кодом. Надеюсь, что это поможет кому-то в будущем.

for url in URL_list: 
     for paged in range(1,99): 
      URLDirectory="/?count=96&paged=%s&p=&page_id="%paged 
      fullURL=url+directoryURL 
      fullURL=''.join(fullURL.split())