Google Sheets ImportXML은 Python 제품 가격 추적기와 비슷한 작업을 수행할 수 있습니다. 그러나 모든 Google 시트에서는 동시에 50개의 importXML 셀만 실행할 수 있습니다. 솔직히 말해서, 다른 차원의 데이터를 가져오는 경우에는 충분하지 않습니다. 즉, 훨씬 쉽고 덜 복잡합니다. 관심이 있으시면 Google Sheets ImportXML에 관한 내 기사를 확인하세요.
Google Sheets ImportXML – 웹을 자동으로 스크랩하고 제품 가격 정보를 수집합니다.
이 장에서는 Python을 사용하여 보다 다재다능한 Amazon 제품 가격 추적기를 만드는 방법을 안내합니다. 이 추적기를 확장하면 수동 작업 없이 자동으로 데이터를 업데이트할 수 있습니다. 다음Python 튜토리얼에서 일정 스크립트를 공유하기 전에 Asin을 사용하여 제품 페이지를 방문하고 가격 데이터를 찾고 가져오고 Google Sheets에 업로드하는 방법을 배울 수 있습니다.
목차: Python을 사용한 Amazon 가격 추적기
- gspread 및 Oauth2Client 모듈 설치
- 스크랩된 Amazon 제품 ASIN을 가져와서 읽어보세요.
- 제품 페이지를 방문하여 가격 데이터를 가져오세요
- Google 시트에 업로드된 가져오기 데이터 추가 및 재설정
- 손익 계산기의 최신 제품 시장 가치
- Amazon 제품 가격 추적기의 전체 Python 스크립트
- AMAZON 최신 동향 API 엔드포인트 권장 사항
- 자주 묻는 질문
gspread 및 Oauth2Client 모듈 설치
Gspread는 매우 간단한 Google Sheets Python API입니다. 이전에 공유한 대로 Google Sheets API를 계속 사용하여 새 시트와 데이터를 읽고 쓸 수 있습니다. 이 기사에서는 gspread를 사용하며 기본적으로 방법론은 유사합니다. 하지만 방법과 논리는 간단합니다.
먼저, Macbook 터미널에 gspread를 설치해야 합니다.
Pip3 Install gspread
그런 다음 업그레이드된 OauthClient 모듈을 설치해야 합니다. Go. ogle Sheet API를 연결하고 서비스 계정 JSON 파일을 활성화하기 위한 것입니다.
Pip3 Install --upgrade oauth2client
셋째, Google API 프로젝트와 서비스 계정을 만들어야 합니다. 자세한 내용은 제가 이전에 공유한 다른 글을 확인해주세요.
Google Sheet API 범위를 정의해야 합니다. Google 드라이브에도 연결해야 하므로 Amazon 가격 추적기를 생성하는 데는 3가지 범위가 있습니다. 아래에서는 범위라는 변수를 만듭니다.
scope = ['https://www.googleapis.com/auth/spreadsheets','https://www.googleapis.com/auth/drive.file','https://www.googleapis.com/auth/drive']
그런 다음 Google API에서 서비스 계정을 만든 후 JSON 파일을 다운로드합니다. creds라는 변수를 생성하고 아래 코딩에 JSON 파일 이름을 추가합니다.
creds = ServiceAccountCredentials.from_json_keyfile_name('ajljou4098erqwie08234.json',scope)
마지막으로 gspread는 Google 스프레드시트를 읽고 업데이트하는 데 사용됩니다. 따라서 클라이언트라는 변수를 생성하고 이 변수에 대한 자격 증명을 승인할 수 있습니다.
client = gspread.authorize(creds)
스크랩된 Amazon 제품 ASIN 가져오기 및 읽기
Python Tutorial 16에서는 ASIN을 포함하는 대량의 제품 정보를 스크랩했습니다. 따라서 Amazon 제품 스크레이퍼와 함께 동일한 Google 시트 파일을 계속 사용할 수 있습니다.
먼저, open 메소드를 사용하는 Google 시트 파일을 열어야 합니다.
sh = client.open('AmazonPriceTracker')
그런 다음 get_worksheet 메소드를 사용하여 제품을 저장하는 Google 시트 탭을 선택해야 합니다. 여기서 값은 0부터 시작합니다. 0은 첫 번째 탭을 나타내고 그 다음은 1, 2 등입니다.
worksheet = sh.get_worksheet(2)
asin 데이터를 저장하는 열이나 행에 따라 col_value 또는 row_value 메서드를 활용할 수 있습니다. gspread에서 제공하는 더 많은 방법을 보려면 설명서를 확인하세요.
values_list = worksheet.col_values(2)
제품 페이지를 방문하여 가격 데이터를 가져오세요
이제 value_list는 스크랩된 제품을 그대로 가져왔습니다. 다음 단계는 가격 데이터를 가져오기 위해 제품 페이지를 반복해서 방문하는 것입니다. 가격 요소에는 제품 가격을 표시하는 곳이 있습니다. Amazon 페이지 업데이트에 따라 다릅니다. 어떤 면에서는 정가, 현재 가격, 바이박스 가격, 신규 바이박스 가격의 4곳이 있습니다. 여기에는 예시의 정가가 표시됩니다.
다시 말하지만, 이전 Python 튜토리얼에서 언급했듯이 Amazon은 요청을 금지하고 BeautifulSoup은 페이지를 직접 방문합니다. 그래서 우리는 셀레늄을 활용해야 합니다. 자세한 내용은 이전Python 튜토리얼을 확인하세요.
16장 – Selenium, BeautifulSoup 및 Easy2Digital API를 사용하는 Amazon 제품 스크레이퍼
먼저, 루프를 생성하고 셀레늄 BeautifulSoup을 사용하여 가격 HTML 정보를 얻어야 합니다.
for asin in values_list:competitor = driver.get(f'https://www.amazon.com/dp/{asin}')soup = BeautifulSoup(driver.page_source, 'html.parser')time.sleep(5)
그런 다음 asin 루프의 상위 트리 아래에서 가격 데이터의 경로를 찾고 이에 대한 루프도 생성해야 합니다. 보시다시피 정가 요소는 가격BlockStrikePriceString a-text-strike의 범위 및 클래스에 있습니다. 그럼 아래와 같이 코드를 작성해 보겠습니다.
for price in soup:try:ListPrice = price.find('span','priceBlockStrikePriceString a-text-strike').text.replace('$','')except Exception as e:ListPrice = '0'
시도 및 제외에서는 없음을 0과 같은 숫자로 설정하는 것이 더 낫다는 점을 친절하게 상기시켜 주십시오. 이렇게 하면 나중에 가격 추적기에서 가장 낮은 가격을 쉽게 찾을 수 있습니다.
Google 시트에 업로드된 가져온 데이터 추가 및 재설정
먼저, amazonSERP 변수의 빈 값을 생성할 수 있습니다. 이는 나중에 정보를 추가하기 위한 것입니다.
보시다시피, 우리는 4개의 가격 데이터를 수집하고 이름을 지정하고 element_info 변수에 그룹화할 수 있다고 가정합니다. 그런 다음 Pandas 모듈에서 append() 및dataframe() 메서드를 사용하여 이 정보를 정리된 형식으로 추가하고 프레임화할 수 있습니다.
element_info = {"ListPrice": ListPrice,"PagePrice": priceA,"BuyboxPrice": priceBuybox,"NewBuyboxPrice": NewpriceBuybox}
amazonSERP.append(element_info)
df = pd.DataFrame(amazonSERP)
Google 시트 업데이트를 위해 gspread에는 값에 연결할 수 있는 3개 부분이 포함된 value_update 메서드가 있습니다. 업데이트할 값의 시트 위치, 매개변수 및 본문입니다.
gspread에는 할당된 형식이 필요하므로 reset_index() 및 values.tolist() 메서드를 사용하여 현재 순서와 형식을 재설정해야 합니다.
value_list2 = sh.values_update('ProductPagePricingTracker!D1', params={'valueInp. utOption': 'USER_ENTERED'},body=dict(values=df.T.reset_index().T.values.tolist()))
손익 계산기의 최신 제품 시장 가치
D에서 G 열 아래에는 Amazon 제품 페이지에서 스크랩된 다양한 가격 데이터가 표시됩니다. 물론 이러한 데이터를 손익 계산기에 연결하는 것은 권장하지 않습니다. min() 메소드를사용하여 가장 낮은 것을 선택할 수 있습니다. 그래서 당신은 당신과 비교하여 가장 낮은 것을 참조할 수 있습니다.
P&L 계산기에서는 정액 및 가변 비용 요소 외에도 제품의 가격 책정 시장 가치를 관찰할 수 있습니다. 가격은 대화율에 영향을 미치는 주요 요소 중 하나이므로 계속 주시해야 합니다. 최신 정보는판매 전략, 디지털 광고 입찰 및 예산 할당에 대해 더 나은 결정을 내리는 데 도움이 됩니다.
가격 측면에서 소매 시장 가치의 경우 백분율 숫자가 높을수록 경쟁 공간에서 더 경쟁력 있는 가격 지점을 나타냅니다. 조건부 서식을 설정할 수 있으므로 숫자가 빨간색으로 강조 표시되면 즉시 확인할수 있습니다. 즉, 어떤 일이 일어나고 있음을 의미합니다. 예를 들어 경쟁업체가 프로모션을 진행하고 있을 수 있습니다.
Amazon 제품 가격 추적기의 전체 Python 스크립트
Amazon Product Price Tracker의 Python 스크립트 정식 버전을 갖고 싶다면, "17장"이라는 메시지를 추가하여 뉴스레터를 구독해 주세요. . 우리는 즉시 귀하의 사서함으로 스크립트를 보내드립니다.
17장: Amazon Price Tracker, ASIN, Oauth2Client 및 Google Sheets를 사용하여 최신 제품 시장 가치 확인을 재미있게 읽어보시기 바랍니다. 그렇게 했다면 아래 나열된 일 중 하나를 수행하여우리를 지원해 주세요. 이는 항상 우리 채널에 도움이 되기 때문입니다.
- PayPal( paypal.me/Easy2digital )을 통해 채널을 지원하고 기부하세요.
- 내 채널을 구독하고 Easy2Digital Youtube 채널 알림 벨을 켜십시오.
- 내 페이지 Easy2Digital Facebook 페이지를 팔로우하고 좋아요를 누르세요.
- 해시태그 #easy2digital을 사용하여 소셜 네트워크에 기사를 공유하세요.
- Easy2Digital 10% 할인 코드로 제품 구매( Easy2DigitalNewBuyers2021)
- Easy2Digital 최신 기사, 비디오 및 할인 코드를 받으려면 주간 뉴스레터에 가입하세요.
- Patreon을 통해 월간 멤버십을 구독하여 독점적인 혜택을 누리세요( www.patreon.com/louisludigital )