簡體   English   中英

web 抓取和傳輸數據 excel python

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM