미해결
[2024 개정판] 이것이 진짜 크롤링이다 - 기본편
CSS 선택자 copy + 네이버 미국증시
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
안녕하세요, 강의 정말 잘 들었습니다.
네이버 증권에서 다른 수치를 불러오는 중 막혔습니다.
현재가, 종목명, 종목코드 같은 경우에는 알려주신 것을 응용하면 돼서 전혀 문제가 없었습니다.
하지만 '52주 최고' 수치를 불러들이지 못하고 있습니다.
그 수치만을 위한 class나 id... 별명? 그런 것이 없습니다.
https://finance.naver.com/item/sise.naver?code=005930
이 부분입니다.
<span class = "tah p11">이 있지만, 다른 수치에도 같은 tah p11 class가 있고,
그 위의 <td class = "num">도 똑같습니다.
다른 질답에서 보면 copy를 사용하라고 하셨는데 그러면 다른 엉뚱한 수치가 떠요...
https://m.stock.naver.com/index.html#/worldstock/stock/V/total
반면 미국증시의 경우에는 더 처참한데 현재가도 이름도 프린트해보면 NONE이라고 뜹니다.
왜 이러는걸까요...
야후 파이낸스로도 셀레늄이 잘 안돼서 네이버로 하고 싶었는데 야후 파이낸스로 해보는 것이 나을까요?
tickers = ['APPL.O', 'GOOGL.O']
for ticker in tickers:
url = f"https://m.stock.naver.com/index.html#/worldstock/stock/{ticker}/total"
response = requests.get(url)
html = response.text
soup = BeautifulSoup(html, 'html.parser')
price = soup.select_one("#content > div.GraphMain_mainGraph__3npcJ.UNCHANGED > div.GraphMain_frameGraph__19k0w > div.GraphMain_stockInfo__2-Uf6 > strong")
name = soup.select_one("#content > div.GraphMain_mainGraph__3npcJ.UNCHANGED > div.GraphMain_frameGraph__19k0w > div.GraphMain_stockInfo__2-Uf6 > span.GraphMain_name__3XazJ")
print(name, price)
도와주세요!!