2012-08-09 39 views
0

我現在唯一真正瞭解的編程語言是python。我對JavaScript很新。現在,我正在嘗試製作一個簡單的程序,通過一個網站併爲我收集信息。如何從iframe獲取信息? (javascript和/或python)

在網站上,有一長串的鏈接指向其他網頁。如果你懸停在一個附近,另一個鏈接會出現在「Find Dupes」一邊(重複的簡稱)。我看到這個頁面的源代碼:

<a href="javascript:void(0)" onclick="getDuplictes(1020347166, true)">Find Dupes</a> 

所以,當你點擊的JavaScript鏈接,iframe中會彈出:

</div> 
</center> 

<div id="ActionDiv" style="position: absolute;z-index: 400; width:400; display:none"> 

<iframe id="ActionFrame" src="" style="width:400;height:400" scrolling="no"   frameborder="0" ></iframe> 
</div> 

<div id="DuplicatesDiv" style="position: absolute;z-index: 200; width:600; display:none"> 
<iframe id="DuplicatesFrame" src="" style="width:600;height:400" scrolling="auto" frameborder="0" ></iframe> 
</div> 

<script> 
function getDuplictes(placeId, findInLoca, feedId){ 

if(isUndefined(feedId)){ 
    feedId = 0; 
} 

if(isUndefined(findInLoca)){ 
    duplicatesUrl = "/places/duplicates.jsp?inPID=" + placeId + "&inFeedID=" + feedId; 
}else{ 
    duplicatesUrl = "/places/duplicates.jsp?inPID=" + placeId + "&inFindInLoca=" + findInLoca + "&inFeedID=" + feedId; 
} 

showFrameDiv(duplicatesUrl, "DuplicatesFrame", "DuplicatesDiv", "LocaBlur") 
} 
</script> 

和信息會有所不同,每次,在此基礎上鍊接你點擊。

我想要做的是以某種方式獲取以有組織的,可讀的形式顯示在iframe中的信息,而無需實際打開和使用Web瀏覽器。我希望能夠查看一個iframe的內容,決定是否需要它,然後單擊next查看下一個iframe。這些「Find Dupes」每頁大約有100個iframe,可能有50個頁面。無論如何,我的主要問題是如何使用Python或JavaScript或東西(我無言以對使用JavaScript ...)

由於得到了具體的iframe的內容。

回答

0

與Python你可以使用PyQuery獲得每個錨標記的onclick屬性,解析使用正則表達式來獲得placeId,自己構建/places/duplicates.jsp?inPID= URL,使用requests的內容在那個URL重新裝入,然後PyQuery在內容上獲取你需要的數據。

+0

太棒了!謝謝! – 2012-08-09 14:10:57