【发布时间】:2021-04-21 20:59:17
【问题描述】:
我能够完全抓取我需要的材料问题是我无法将数据输入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)
【问题讨论】:
标签: python selenium web-scraping