2017-02-17 60 views
0

我正在使用for循环来通过站点的某些目录进行爬网。Python3字符串变量不断搞乱我的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"> 我敢肯定,因为它打印为http://www.somesite.com/category/new-items /?count=96&paged=1&p=&page_id=

编辑1 的发生是由于fullURL字符串变量的问题,看起来像“网址“列表中的变量存储空间。

+0

怎么样'page_id'?它应该被指定,对吧?但它不在你的例子中。 – Highstaker

+0

@Highstaker它似乎没关系。问题不在于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())