현재 웹 사이트에서 데이터를 긁어 내려고했지만 아래의 코드를 사용하면 어떤 이유로 든 빈 배열 "[]"이 반환됩니다. 나는 그 배후의 추론을 이해하는 것처럼 보이지 않는다. 생성 된 html을 확인하면 \ t \ r \ n이 (가) 많이 보인다. 문제가 내 코드와 어떤 관계가 있는지 확신 할 수 없습니다.BeautifulSoup 빈 배열 반환
url = "http://www.hkex.com.hk/eng/csm/price_movement_result.htm?location=priceMoveSearch&PageNo=1&SearchMethod=2&mkt=hk&LangCode=en&StockType=ALL&Ranking=ByMC&x=51&y=6"
html = requests.get(url)
soup = BeautifulSoup(html.text,'html.parser')
rows = soup.find_all('tr')
print rows
또한 비 '는 .text "대신"html.parser "의"LXML "을 구문 분석을 시도했지만 같은 결과를 만난다.
편집 : 해결 방법을 찾아서 셀레늄을 사용하여 페이지를 열고 대신 원본을 가져옵니다.
url = "http://www.hkex.com.hk/eng/csm/price_movement_result.htm?location=priceMoveSearch&PageNo=1&SearchMethod=2&mkt=hk&LangCode=en&StockType=ALL&Ranking=ByMC&x=51&y=6"
driver = webdriver.Firefox()
driver.get(url)
f = driver.page_source
soup = BeautifulSoup(f,'html.parser')
rows = soup.find_all('tr')
를 사용할 필요가 없다? 그렇지 않으면 최선의 해결책이 될 것입니다. 편집 : 방금 그것을 시도했습니다 덕분에 – kimpster
이 토론에 따르면, 네 수 있습니다. 나 자신을 결코 시도하지 않았다. http://stackoverflow.com/questions/14529849/python-scraping-javascript-using-selenium-and-beautiful-soup – DyZ