你如何从 iframe 获取信息?(JavaScript和/或Python)

How do you get information from an iframe? (javascript and/or python)

本文关键字:JavaScript Python iframe 信息 获取      更新时间:2023-09-26

我现在真正知道的唯一编程语言是python。我对javascript很陌生。现在,我正在尝试制作一个简单的程序,通过一个网站并为我收集信息。

在网站上,有一长串指向其他页面的链接。如果您将鼠标悬停在一个附近,则旁边会出现另一个链接,上面写着"查找重复"(重复项的缩写)。我在页面源代码中找到了这个:

<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的内容,决定是否需要它,然后单击下一步查看下一个。每页大约有 100 个这样的"查找重复"iframe,也许有 50 页。无论如何,我的主要问题是如何使用 python 或 javascript 或其他东西获取特定 iframe 的内容(我对 javascript 一无所知......

谢谢。

使用 python,您可以使用 PyQuery

获取每个锚标记的 onclick 属性,使用正则表达式解析该属性以获取placeId,自己构建/places/duplicates.jsp?inPID= URL,使用请求在该 URL 加载内容,然后再次对内容进行 PyQuery 以获取所需的数据。