随着全球疫情逐步缓解,外贸出口市场正在逐步恢复。作为全球最大的电商平台之一,www.amazon.com的数据反映了外贸出口的趋势和变化。
中国商家在www.amazon.com上的商品交易总额(GMV)逐年攀升。2017年,中国卖家在www.amazon.com上的GMV达到了480亿美元,占据了www.amazon.com总GMV的18%。而到了2022年,中国卖家的GMV已经增长至2010亿美元,占比为26%。
中国商家在不同的www.amazon.com站点上的占比存在差异。在TOP 10000卖家中,中国卖家平均占比达到了42%。
为了提高亚www.amazon.com卖家的竞争力和利润,他们应该如何选择和优化商品呢?其中,最重要的工作就是定期分析www.amazon.com上同类商品的相关信息,用于分析市场前景和商品信息等关键因素。下面提供数据分析demo,用于对www.amazon.com指定商品的全部页面进行采集:
importundetected_chromedriverfrombs4importBeautifulSoupfromselenium.webdriver.chrome.optionsimportOptionsfromselenium.webdriver.supportimportexpected_conditionsasExpectedConditionsimportpandasaspdimporttimefromfake_useragentimportUserAgentfromselenium.commonimportNoSuchElementExceptionfromselenium.webdriver.common.byimportByfromselenium.webdriver.support.waitimportWebDriverWaitdefget_url(search_term): # 根据搜索词生成亚马逊的搜索链接template='https://www.amazon.com/s?k={}'search_term=search_term.replace(' ', '+') url=template.format(search_term) returnurldefscrape_records(item): # 从商品元素中提取商品信息atag=item.h2.adescription=atag.text.strip() url='https://amazon.com'+atag.get('href') price_parent=item.find('span', 'a-price') price=price_parent.find('span', 'a-offscreen').text.strip() ifprice_parentandprice_parent.find('span', 'a-offscreen') else''rating_element=item.find('span', {'class': 'a-icon-alt'}) rating=rating_element.text.strip() ifrating_elementelse''review_count_element=item.find('span', {'class': 'a-size-base s-underline-text'}) review_count=review_count_element.text.strip() ifreview_count_elementelse''result= (description, price, rating, review_count, url) returnresultdefscrape_amazon(search_term): ua=UserAgent() # 创建Options对象options=Options() # 设置 亿牛云 爬虫代理加强版 用户名、密码、IP和端口号options.add_argument('--proxy-server=http://16YUN:16IP@www.16yun.cn:31000') # 设置随机User-Agentoptions.add_argument(f"user-agent={ua.random}") driver=undetected_chromedriver.Chrome(options=options) url=get_url(search_term) driver.get(url) time.sleep(5) records= [] whileTrue: # 滚动到页面底部加载更多商品time.sleep(5) driver.execute_script("window.scrollTo(0, document.body.scrollHeight);") soup=BeautifulSoup(driver.page_source, 'html.parser') results=soup.find_all('div', {'data-component-type': 's-search-result'}) foriteminresults: try: record=scrape_records(item) records.append(record) exceptExceptionase: print(f"Error scraping item: {e}") # 检查页面是否有"Next"按钮try: nextButton=driver.find_element(By.XPATH, '//a[text()="Next"]') driver.execute_script("arguments[0].scrollIntoView();", nextButton) WebDriverWait(driver, 10).until(ExpectedConditions.element_to_be_clickable(nextButton)) nextButton.click() exceptNoSuchElementException: print("Breaking as Last page Reached") breakdriver.close() # 处理商品信息并转换为DataFrame对象df=pd.DataFrame(records, columns=['Description', 'Price', 'Rating', 'Review Count', 'URL']) returndf# 获取用户输入的搜索词search_term='washing machine'# 爬取亚马逊的搜索结果df=scrape_amazon(search_term) # 将DataFrame导出为Excel文件df.to_excel('output.xlsx', index=False)