Почему при сканировании этой страницы my for l oop прерывается на python? - PullRequest
0 голосов
/ 16 марта 2020

Я кодировал сканер, который очищает этот URL: http://search.cjmall.com/search-web/search/cjmall/categoryItem.json?t=API&o=REVIEW_COUNT_DESC&sc=G00040&of=&s=48&listingType=2&chn=30001001&isSortChanged=true&srcg=false&srbg=false&srfg=false&srp=false&srcb=false

Он разбит на страницы "of =" и умножается на 48. Следовательно, страница начинается с of = 48, что означает страница 2, а = 96 означает страницу 3. Я пытался просканировать страницу до 250, однако она была просканирована только до страниц. Я думал, что это потому, что структура json отличается по страницам, но это не так.

Не могли бы вы узнать, почему мой разрывы для l oop?

Код:

page = input("input maxpage: ")

maxPage = []
urls = []


for i in range(1, int(page)+1):
    i = 48*i
    maxPage.append(i)

print(maxPage)

for k in maxPage:
    url = "http://search.cjmall.com/search-web/search/cjmall/categoryItem.json?t=API&o=REVIEW_COUNT_DESC&sc=G000"+str(cat1depth)+"&of="+str(k)+"&s=48&listingType=2&chn=30001001&isSortChanged=true&srcg=false&srbg=false&srfg=false&srp=false&srcb=false"
    urls.append(url)

for i in urls:
    data = urllib.request.urlopen(i).read().decode()
    obj = json.loads(data)
    all = obj["result"][0]["rowDatas"]
    for a in all:
        pr_id.append(a["itemCd"])
        pr_name.append(a["itemNm"])
        price.append(a["pmgCustomerPrice"])
        channelCode.append(a["pmgChnCd"])
        catInfo.append(a["catInfo"])

    for a in all:

        if "bbsCount" in a.keys():         
                reviewCount.append(a['bbsCount'])
        else:
                reviewCount.append("None")

        if "bbsScore" in a.keys():     
                reviewScore.append(a['bbsScore'])
        else:    
                reviewScore.append("None")

        if "repBrandNm" in a.keys():
                brandName.append(a["repBrandNm"])
        else:
                brandName.append("None")

        if "brandCd" in a.keys(): 
                brandId.append(a['brandCd'])
        else:        
                brandId.append("brandCd")
...