在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問(wèn)答/Python/ 最近在學(xué)抓包,然后用python爬取淘女郎信息,但不知為什么只能爬取第一頁(yè),后面

最近在學(xué)抓包,然后用python爬取淘女郎信息,但不知為什么只能爬取第一頁(yè),后面幾頁(yè)不停重復(fù)第一頁(yè)內(nèi)容

代碼中的url地址是我用chrome抓包得到的地址
我的代碼

import requests
import json
import csv

#獲取網(wǎng)頁(yè)信息
def getHTML(url,data):
    headers = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64)\
     AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.186 Safari/537.36'}

    r = requests.post(url,headers=headers,data=data,timeout=30)
    return r.content.decode('gbk').encode('utf-8')
    
#導(dǎo)出為CSV文件   
def export(ulist):
    with open('F:\\淘女郎信息.csv','a',newline='',encoding='gbk') as f:
        mycsv = csv.writer(f)      
        title = ['真實(shí)姓名','所在城市','身高','體重']
        #第一行
        mycsv.writerow(title)
        mycsv.writerows(ulist)
        f.close
        
def main():
    url = 'https://mm.taobao.com/tstar/search/tstar_model.do?_input_charset=utf-8'
    data ='q&viewFlag=A&sortType=default&searchStyle=&search\
        Region=city%3A&searchFansNum=&currentPage=1&pageSize=100'    
    
    html = getHTML(url,data)
    selc = json.loads(html)
    max_page = selc['data']['totalPage'] #最大頁(yè)數(shù)
    ulist = selc['data']['searchDOList']
    info = []   #存儲(chǔ)信息
    for i in ulist:
   
        info.append([i['realName'],i['city'],i['height'],i['weight']])
    #抓第一頁(yè)之后的信息  
    for i in range(2,max_page):
        new_data = 'q=&viewFlag=A&sortType=default&searchStyle=&search\
            Region=city%3A%E6%9D%AD%E5%B7%9E&searchFansNum=&currentPage={}&pageSize=100'.format(str(i))        
        html = getHTML(url,new_data)
        selc = json.loads(html) 
        ulist = selc['data']['searchDOList']
        for n in ulist:
            info.append([n['realName'],n['city'],n['height'],n['weight']])

    export(info)
    
main()

望大神不吝賜教。

回答
編輯回答
小眼睛

把data中的數(shù)據(jù)(主要是currentPage)放到url就可以了。
此外你的pageSize與網(wǎng)站的不一致,導(dǎo)致了數(shù)據(jù)丟失。

2018年5月24日 22:54