2012-02-17 60 views
0

我需要使用python來獲取iframe的內容。使用python加載iframe的內容

隨着網頁加載,它會提交一個請求,並在響應中獲取iframe的內容。當我使用BeautifulSoup獲取數據時,它只是給出了最初的空白iframe內容。也許iframe沒有加載到那個時候我得到的迴應。

請幫我獲取iframe的HTML內容。

謝謝....

回答

1

做最初的請求。然後獲取iframe的源URL並執行另一個請求來獲取iframe的內容。只需檢查是否需要傳遞任何變量與請求。

Beautifulsoup不會執行您從請求中獲得的任何代碼。根據頁面的複雜程度,您可能能夠模擬頁面在瀏覽器中加載時發生的情況(如解析一些javascript並使用該信息)。

Ex。

<html> 
    ... 
    <script> 
     $(document).ready(function() { 
      $("iframeID").src = "http://addr.com/page.html" 
     }); 
    </script> 
    ... 
    <iframe id="iframeID"/> 
    ... 
</html> 

獲取的iframe中源在這種情況下將是不方便的,但可能的。如果javascript確實有點奇怪,那麼這會變得更加困難。如果JavaScript是在一個單獨的文件中,那麼你必須去獲取它。

如果事情變得太複雜了,看看另一個解決方案(其中一個是運行整個JavaScript引擎的解決方案),我自己並沒有使用任何更復雜的東西。

+0

實際上,該框架有一些隱藏的字段,並且隨着html頁面加載隱藏字段被提交到源url並在相同的iframe中獲取響應。我嘗試通過瞄準源網址也..但它提供了隱藏的字段,,,我想獲得提交後隱藏的表單行動(也包括隱藏的領域)後出現的內容..... – user1216062 2012-02-17 14:28:14

+0

更新你的問題與信息。也許有人可以幫助你,如果你清楚地描述問題? – dirk 2012-02-21 06:39:25