我正在使用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時,你會得到模板標籤嗎?編輯:另外,你的模板如何呈現。如果您使用JavaScript模板引擎(例如Handlebars),這可能意味着您將在響應中獲得模板標籤。 –
RE編輯2 - 這只是一個新問題...無論如何,我認爲你需要查看find_all的文檔,因爲你的find_all字符串無效。我將在下面更新一些更接近您需要的內容http://www.crummy.com/software/BeautifulSoup/bs3/documentation.html#arg-name。 –
乾杯!我嘗試使用soup.findall(True)來獲取所有標籤,並且我需要的信息就在那裏!這只是爲了找到我需要搜索哪個標籤以獲取該信息。 – Tagc