저는 Python 3을 사용하고 있으며 웹 사이트에서 데이터를 검색하려고합니다. 그러나,이 데이터를 동적으로로드하고, 내가 지금 가지고있는 코드는 작동하지 않습니다 나는 특정 값을 찾기 위해 노력하고있어Python을 사용하여 동적 HTML 컨텐트의 값을 검색하는 방법
url = eveCentralBaseURL + str(mineral)
print("URL : %s" % url);
response = request.urlopen(url)
data = str(response.read(10000))
data = data.replace("\\n", "\n")
print(data)
, 나는 예 : "{{formatPrice의 중간 값 대신 템플릿을 찾는거야 }} "대신"4.48 "을 사용하십시오.
자리 표시 자 텍스트 대신 값을 검색 할 수 있도록하려면 어떻게해야합니까?
편집 : This은 정보를 추출하려고하는 특정 페이지입니다. 템플릿 {{formatPrice median}}을 사용하는 "중간 값"을 얻으려고합니다.
편집 2 : Selenium과 BeautifulSoup를 사용하도록 프로그램을 설치하고 설정했습니다.
내가 지금 가지고있는 코드는 다음과 같습니다
from bs4 import BeautifulSoup
from selenium import webdriver
#...
driver = webdriver.Firefox()
driver.get(url)
html = driver.page_source
soup = BeautifulSoup(html)
print "Finding..."
for tag in soup.find_all('formatPrice median'):
print tag.text
Here 그것을 실행됩니다으로 프로그램의 스크린 샷이다. 불행히도 "formatPrice median"을 지정하지 않은 것 같습니다.
브라우저의 URL을 방문 할 때 템플릿 태그를 가져 옵니까? 편집 : 또한, 어떻게 렌더링 템플릿. 자바 스크립트 템플릿 엔진 (예 : 핸들 바)을 사용하는 경우 응답에 템플릿 태그가 표시됩니다. –
RE 편집 2 - 이것은 새로운 질문에 관한 것입니다 ... 어쨌든 find_all 문자열이 유효하지 않기 때문에 find_all에 대한 설명서를 살펴야한다고 생각합니다. 아래에서 http://www.crummy.com/software/BeautifulSoup/bs3/documentation.html#arg-name에 좀 더 가깝게 업데이트 할 것입니다. –
건배! 나는 모든 태그를 얻기 위해 soup.findall (True)를 사용했다. 필요한 정보가 거기에있다! 그 정보를 얻기 위해 검색해야하는 태그를 정확히 찾는 문제 일뿐입니다. – Tagc