[英](Python) Scraping data from a website with 'style:hidden' tags?
我正在使用Selenium嘗試從網站獲取數據。 但是我想要的數據存儲在“隱藏”標簽中,因此當我提取源文件時它不可見。 有什么辦法可以解決這個問題? 有不同類型的隱藏物嗎?
我認為它是隱藏的,因為我也在使用Firebug,它可以在我要抓取的頁面上看到源,但是它“灰顯”了該源,我讀過這表明該源已隱藏帶有style:hidden標簽。
可能發生的情況是該網站正在通過JavaScript和/或XMLHttpRequest或通過CSS加載其他數據。 完成后,Firebug將向您顯示DOM。 使用Webdriver,您可以引導瀏覽器加載頁面並與之交互。 問題是,一旦發生特定的用戶交互,就會給出一些附加信息。 因此,減輕這種情況的一種方法是使用網絡驅動程序來引導瀏覽器並執行相同的操作序列,以便DOM會相應地更改。
您可能想使用CSS來更改屬性並使元素也可見。
鑒於您沒有提供要執行的操作的任何代碼示例,因此無法准確地幫助您。 但是,您會在官方文檔中找到許多在python中的webdriver代碼示例 。
我使用Selenium進行抓取的具體原因之一是,在開始搜索內容之前,請確保每個頁面的javascript創建部分均已完全呈現。 我使用此行來等待要加載的內容:
WebDriverWait(self.driver, 30).until(EC.presence_of_element_located((By.XPATH, my_xpath)))
“ 30”是一個30秒的等待計時器,如果超過了該計時器,則會發生TimeoutException,因此您需要try ... except:
將其放入try ... except:
塊。 更改my_xpath
以匹配所需的標簽。 即使樣式被標記為隱藏,Selenium仍然可以看到它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.