본문 바로가기

웹크롤링

[아마존]준비 아마존은 웹크롤링이 안되는 사이트 이다. selenium을 쓰면 가능할지 모르지만 아직 해보진 않았다. import requests from bs4 import BeautifulSoup def search_amazon(item_name): url = "https://www.amazon.com/s?k=" + item_name headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3' } response = requests.get(url, headers=headers) soup = BeautifulSoup(resp.. 더보기
동적 페이지 웹크롤링 동적 페이지는 selenium으로만 웹크롤링이 가능한 줄 알았다. 하지만 타이밍에 따라 페이지 정보를 가져오지 못하거나 before 태그들 같은 경우 간혹 실패하거나 가져오지 못하는 경우가 생긴다. 그래서 크롬 개발자 도구에서 찾다 보니 해결책이 보였다. 네이버 데이터랩에서 키워드 검색을 위해 조회하고 개발자 도구를 열어서 네트워크 부분을 보면 우측과 같이 된다. 이 부분 까지는 requests로 가져올 수 있지만 그담 랭크들 정보는 가져올 수 없다. 그래서 cURL을 파이썬 코드로 변환 시킨다. 복사하면 이런 코드가 나오는데 curl을 파이썬 코드로 바꿔주는 많은 사이트들이 있다. curl을 변환하면 data 부분에서 page를 보면 1로 되어 있는데 2로 주면 그다음 랭크 21~40 정보를 가져올 수.. 더보기
플로팅 메뉴 XPATH 크롬 개발자 도구를 켜고 확인을 하려고 해도 플로팅 메뉴 같은 경우 확인이 어렵다. 이 경우 플로팅 메뉴에서 우클릭 > 검사를 누르면 바로 원하는 html 코드가 보인다. //*[@id="gnbAnalytics"]/ul[1]/li[4]/a 더보기
크롬 개발자 도구 XPATH selenium XPATH로 element를 가져올 때 이거 모르면 개고생 XPATH를 찾고 싶은 element를 선택하면 해당 부분이 하이라이트 된다. 하이라이트 된 부분을 우클릭하고 Copy > Copy XPath를 선택하면 클립보드로 복사된다. //*[@id="header"]/section/div[1]/ul/li[1]/a 이런식 #크롬#개발자도구#copy#xpath 더보기
크롬 개발자 도구 웹 크롤링 시 필수 도구 크롬으로 크롤링할 페이지를 열고 F12를 누르면 열린다. 기본은 우측이지만 저 부분으로 도킹될 위치 설정이 가능하다. #크롬#개발자도구#도킹 더보기