[英]web scraping and transferring data excel python
我能够完全刮掉我需要的材料问题是我无法将数据输入Excel
。
这是我的代码:(一切正常)
def scrape_data(card):
try:
h2 = card.h2
except:
title = ''
else:
title = h2.text.strip()
try:
price = card.find('span', class_='a-offscreen').text
except:
price = ''
else:
price = card.find('span', class_='a-offscreen').text
data = {'Titulo':title, 'Preco': price}
return data
def main():
url = 'https://www.amazon.com.br/s?k=iphone'
html = get_html(url)
soup = BeautifulSoup(html,'lxml')
cards = soup.find_all('div', {'data-asin':True, 'data-component-type': 's-search-result'})
ads_data = []
for card in cards:
data = scrape_data(card)
ads_data.append(data)
write_xlsx(ads_data)
但我被困在这里,我不知道如何在Excel
文件上迭代字典......
def write_xlsx(ads):
with xlsxwriter.Workbook('results.xlsx') as workbook:
worksheet = workbook.add_worksheet()
worksheet.write(0,0,'Titulo')
worksheet.write(0,1,'Preco')
for i,(k,v) in enumerate(ads.items(),start=1):
worksheet.write(i,0,k)
worksheet.write(i,0,v)
如果您的问题只是遍历 dict 的条目,我想我可以帮助您:
items = ads.items()
for i in range(1, len(items)):
k, v = items[i]
worksheet.write(i, 0, k)
worksheet.write(i, 0, v)
我认为你把事情复杂化了。 :)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.