关于python中xlwt的数据导入问题

关于python中利用xlwt导入数据只导入了最后一行的数据问题,如何修改才能将所有数据全部导入

from lxml import etree
import urllib.request
import urllib.parse
import xlwt



#设置伪装

headers = {
    'cookie': '__jdu=1659707167623619949466; shshshfpa=635b8588-3158-6dba-0b99-25afccd7b2e3-1659707167; shshshfpb=y8RaBS369LS9tHP_B6U2LiA; PCSYCityID=CN_440000_440100_0; areaId=19; qrsc=3; ipLoc-djd=19-1601-50258-51885; unpl=JF8EAMZnNSttURhTBkkAHBRATghXWw0AHkdTPWRRBgheH1ICGAUZGxR7XlVdXhRKHh9tZhRUWFNKXA4YBCsSEXteXVdZDEsWC2tXVgQFDQ8VXURJQlZAFDNVCV9dSRZRZjJWBFtdT1xWSAYYRRMfDlAKDlhCR1FpMjVkXlh7VAQrAhwWGE1cUl5aDkwUAWhnDVxYUE5TAisyHCIge11VWloAQicCX2Y1FgkES1ABEwpWEhdPVVJfWwhMEQRsZQJUVVBOXAAcBSsTIEg; __jdv=76161171|baidu-pinzhuan|t_288551095_baidupinzhuan|cpc|0f3d30c8dba7459bb52f2eb5eba8ac7d_0_8b62c367a4d24a9daac2ecd7e7626385|1661839773375; jsavif=1; jsavif=1; __jda=122270672.1659707167623619949466.1659707168.1661783094.1661839773.3; __jdc=122270672; shshshfp=59b9a797b38077f20c6ccaefb49f4f92; rkv=1.0; avif=1; token=748fe6e6ed71a665abcd062250fad92b,2,923244; __tk=NAzeNDN4qfyDrAq3OLNBqIq4riaDOfhhsUaBsUaCrDOgqAzgNfaAN2,2,923244; shshshsID=d0e7aa327015c38aece2a1b82528443a_4_1661839861500; __jdb=122270672.4.1659707167623619949466|3.1661839773; ip_cityCode=1601; 3AB9D23F7A4B3C9B=XDBZMMYDB4ERE2MUBE335IL56JCNTMRL2JKTAU5NYFYOIWUYNRJ33J3B6T2IM2NPO5I4LQ54ALNBTWJ4I3HADDMRF4',
    'referer': 'https://www.jd.com/',
    'user-agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.131 Safari/537.36 SLBrowser/8.0.0.5261 SLBChan/105'
}

url='https://search.jd.com/Search?keyword=%E6%98%BE%E5%8D%A1&enc=utf-8&wq=%E6%98%BE%E5%8D%A1&pvid=bca0c187461e419ab9caf4bbb8002a19'

#获取网页源码
get = urllib.request.Request(url=url, headers=headers)
back = urllib.request.urlopen(get)

html = back.read().decode("utf-8")#转为utf-8形式

selector = etree.HTML(html)#解析html生成信息树

datalist = []
for i in range(0,30):
    data = []
    t = str(i+1)


    # 名称

    name1 = "/html/body/div[5]/div[2]/div[2]/div[1]/div/div[2]/ul/li["
    name2 = "]/div/div[3]/a/em/text()"
    name3 = name1 + t + name2
    name = selector.xpath(name3)
    data.append(name)
    print(name)


    #价格

    price1 = "/html/body/div[5]/div[2]/div[2]/div[1]/div/div[2]/ul/li["
    price2 = "]/div/div[2]/strong/i/text()"
    price3 = price1 + t + price2
    price = selector.xpath(price3)
    data.append(price)
    print(price)

    work = xlwt.Workbook(encoding='utf-8', style_compression=0)

    sheet = work.add_sheet("显卡信息表", cell_overwrite_ok=True)
    top = ('name', 'price')
    for i in range(len(top)):
        sheet.write(0, i, top[i])

    datalist = (name, price)
    count = 0
    count += 1
    for i in range(len(datalist)):
        sheet.write(count, i, datalist[i])
    savepath = './爬取.xls'
    work.save(savepath)

img

只导入最后一行是因为前面导入的数据都被后面导入的数据覆盖了