[问题] 新手爬虫输出至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