웹 크롤링 값이 다른경우
조회수 557회
//import requests
from bs4 import BeautifulSoup
headers = {'User-Agent' : 'Mozilla/5.0 (Windows NT 10.0; Win64; x64)AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36'}
_url = "https://band.us/discover/band-search/"
keyword = "여행"
url = _url+keyword
data = requests.get(url,headers=headers)
soup = BeautifulSoup(data.text, 'html.parser')
band_info = soup.select('#content > main > div > div._globalSearchContentRegion > div > section > h2')
print(url)
print(band_info)
안녕하세요. 위와 같이 크롬 웹에서 보이는대로 해당 주소의 네이버 밴드의 정보를 가져와보고싶은데, 실제로 가져와지는 값이 다릅니다. band_info는 결국 빈 리스트만 반환이 되는데요.
혹시 제대로 가져올 수있을 방법이 있을지 궁금합니다. 그냥 select('#content') 만 하더라도 아무런 값도 안가져와져서 질문을 올려봅니다.
-
(•́ ✖ •̀)
알 수 없는 사용자
2 답변
-
javascript로 동적렌더링이 되면 렌더링된 html의 selector를 알더라도 못가져오더라구요.
selector로 가져오지 못한다면 xPath를 이용해보는 것도 방법일 것 같아요. python 사용자이시니깐 beautifulSoup으로만 가져올 수 없는 경우에는 selenium을 사용하시면 jquery식의
$
,$$
도 사용하실 수 있습니다.$
와$$
의 차이는 여기에서 확인하실 수 있습니다 :)-
(•́ ✖ •̀)
알 수 없는 사용자
-
-
댓글 입력