[問題] 新手爬蟲輸出至excel迴圈問題

作者: ukcm (欸欸)   2016-09-04 15:18:19
各位前輩好
問題為小弟想把網頁爬出的每一頁每一個品項資料依序寫入excel
但輸出至excel的結果都是最後一頁最後一個品項重複寫入1~rows
原始碼如下,請問該如何修改,謝謝~
dict = {};
page = 10
rows = page*10
w = xlwt.Workbook()
path_excel = '/home/pi/data/'+filename+'.xls'
t = w.add_sheet('ZH',cell_overwrite_ok=True)
for i in range(page): #頁數迴圈
dict['resp%d' % (i+1)] = opener.open('http://www.zowhong.com.tw/order/s
earch.php?page=%d' % (i+1)).read()
soup = BeautifulSoup(dict['resp%d' % (i+1)]) #soup每一頁
quantity = len(soup.select('.f01')) #偵測每頁品項數量
for j in range(quantity): #先輸出所有f01品項,f02價格
print soup.select('.f01')[j].text.strip(), soup.select('.f02')[
for k in range(rows): #行數迴圈
t.write(k,0,soup.select('.f01')[j].text.strip())
t.write(k,1,soup.select('.f02')[j].text)
w.save(path_excel)
作者: s860134 (s860134)   2016-09-04 16:54:00
檢查你巢狀迴圈 for j....這段確實是每同項重複寫入k次.最後一個 for k ... 是多餘的,你的行數應該隨 j 增加另外變數命名盡量不要和內建類別重複 dict迴圈外設一個變數 item_index 作為計數器,在迴圈內遞增既然你知道迴圈在做甚麼 那你應該知道怎麼改
作者: ukcm (欸欸)   2016-09-05 10:39:00
問題解決了 真的非常感謝s大的耐心解說

Links booklink

Contact Us: admin [ a t ] ucptt.com