묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결
driver = webdriver.Chrome('chromedriver', options=chrome_options)
안녕하세요. 5강수업 실습 중 오류가 나와 문의 드립니다.
-
미해결
왓챠피디아 리뷰 크롤링 관련 질문입니다
왓챠피디아에 올라가 있는 넷플릭스 드라마 리뷰들을 파이썬으로 웹 크롤링 해보고 싶어서 https://github.com/Stan7s/IMDb-Review-Crawler/blob/master/IMDb-Review-Crawler.py의 imdb 크롤링 방식을 참고했습니다.그런데 IMDB에선 잘 되던 것이, 왓챠피디아 쪽은 리뷰가 크롤링 되지 않습니다.어떻게 하면 해결할 수 있을까요? #수집하고 싶은 영화의 user riviews 페이지 url 붙여넣기 url = 'https://pedia.watcha.com/ko-KR/contents/tRzLggZ/comments' #수집하고 싶은 영화 리뷰 수 지정 MAX_CNT = 150 cnt = 0 print("url = ", url) res = requests.get(url) res.encoding = 'utf-8' soup = BeautifulSoup(res.text, "lxml") load_more = soup.select(".load-more-data") flag = True if len(load_more): ajaxurl = load_more[0]['data-ajaxurl'] base_url = base_url + ajaxurl + "?ref_=undefined&paginationKey=" key = load_more[0]['data-key'] else: flag = False while flag: url = base_url + key print("url = ", url) res = requests.get(url) res.encoding = 'utf-8' soup = BeautifulSoup(res.text, "lxml") for item in soup.select(".lister-item-content"): rating = item.select("span.rating-other-user-rating > span") if len(rating) == 2: rating = rating[0].text review = item.select(".text")[0].text pn = rating_transfer(int(rating)) review_list.append(review) rating_list.append(pn) cnt = cnt + 1 else: rating = "" review = item.select(".text")[0].text
-
미해결[2024 개정판] 이것이 진짜 크롤링이다 - 실전편 (인공지능 수익화)
네이버 뉴스의 날짜를 수집하고자 합니다.
안녕하세요. FW 시즌 vs SS 시즌별로 피부 고민의 차이를 좀 분석해볼려고 하고요. 네이버 뉴스 크롤링 코드에서 날짜 부문을 추가해서 수집하려고 하는 데 오류가 발생하는 상황입니다. 날짜 HTML은 제대로 불러오는 것 같은데요... 출력에서 조금만 검토해주셨으면 하는 부분이 있습니다. 제가 추가로 작성한 부분은 빨간색으로 색칠해두었습니다. ------------------------------------------------------------------------------------------------------------------------ keyword = pyautogui.prompt("검색어를 입력하세요.") lastpage = pyautogui.prompt("마지막 페이지번호를 입력하세요.") # 엑셀 생성 wb = Workbook() ws = wb.create_sheet(keyword) # 행번호 row = 1 # 열 너비 조절 ws.column_dimensions['A'].width = 60 ws.column_dimensions['B'].width = 60 ws.column_dimensions['C'].width = 120 page_num = 1 for i in range(1, int(lastpage)*10, 10): print(f"{page_num}페이지 크롤링 중입니다.") response = requests.get(f"https://search.naver.com/search.naver?where=news&sm=tab_jum&query={keyword}&start={i}") html = response.text soup = BeautifulSoup(html, 'html.parser') articles = soup.select("div.info_group") # 뉴스 기사 div 10개 추출 for article in articles: links = article.select("a.info") if len(links) >= 2: # 링크가 2개 이상이면 url = links[1].attrs['href'] # 두번째 링크의 href 추출 # 다시 request를 날려 준다 response = requests.get(url, headers={'User-Agent' : 'Mozila/5.0'}) html = response.text soup_sub = BeautifulSoup(html, 'html.parser') # 연예 뉴스 체크 if "entertain" in response.url: title = soup_sub.select_one(".end_tit") content = soup_sub.select_one("#articeBody") date = soup_sub.select_one("div.article_info > span > em") else: title = soup_sub.select_one(".media_end_head_headline") content = soup_sub.select_one("#newsct_article") date = soup_sub.select_one("span.media_end_head_info_datestamp_time._ARTICLE_DATE_TIME") print("=======링크======= \n", url) print("=======제목======= \n", title.text.strip()) print("=======본문======= \n", content.text.strip()) print("=======날짜======= \n", date) # w저장 ws[f'A{row}'] = url ws[f'B{row}'] = title.text.strip() ws[f'C{row}'] = content.text.strip() ws[f'D{row}'] = date.text.strip() # 자동 줄바꿈 기능 ws[f'C{row}'].alignment = Alignment(wrap_text=True) row = row + 1 time.sleep(0.3) # 마지막 페이지 여부 확인하기 isLastPage = soup.select_one("a.btn_next").attrs['aria-disabled'] if isLastPage == 'true': print("마지막 페이지입니다.") break page_num = page_num + 1 # 워드 문서 저장하기 wb.save(f"{keyword}_result.xlsx") ============================================================================================ =======날짜======= <span class="media_end_head_info_datestamp_time _ARTICLE_DATE_TIME" data-date-time="2022-06-05 09:42:02">2022.06.05. 오전 9:42</span>출력이 이렇게되는 데요. 2022.06.05. 오전 9:42만 받아보게끔 하는 방법이 있을까요?
-
미해결
Konlpy를 활용해서 인터넷 신문 기사에서 특정 단어가 들어간 기사를 모으려고합니다.
안녕하세요 Konlpy를 활용해서 인터넷 신문 기사에서 특정 단어가 들어간 기사를 모으려고합니다. 제가 생각하기에 단어가 들어간 기사를 검색하고 모으는 작업은 웹크롤링을 이용하고 여기서 특정 단어와 같이 나온 단어를 확인하는 작업은 Konlpy라는걸 이용해야한다고 생각하는데 추가적으로 배워야할 부분이 있을까요?