首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我怎样才能在我的程序中从网站上获得图片?

我怎样才能在我的程序中从网站上获得图片?
EN

Stack Overflow用户
提问于 2013-01-20 06:19:54
回答 1查看 130关注 0票数 3

下午好。有一个网站托管公告这里,我需要在页面上获得一个电话号码--任何通知,例如这里 --电话号码表示为图片。我想要获得到图片的链接,保存这张图片,并识别这张图片。但是当我开始在程序中获得图片链接时,我看到这张图片生成了java脚本。下面是我试图获取到程序中图片的链接的代码:

代码语言:javascript
复制
.....
HtmlNode bodyNode7 = doc.DocumentNode.SelectSingleNode(@".//*//table[6][@class='objectView']//tr[2]//td");
Console.WriteLine(bodyNode7.InnerText.ToString());
.....

我使用HtmlAgilityPack库(C#)解析图片链接。我打开了这个页面的源代码(这里),看到了生成图片的Javascript:

代码语言:javascript
复制
<tr id="ctl00_cphBody_FlatSell_Obj_adapterObject_trPhones" style="background-color: white">
        <th>Телефоны:</th>
        <td>
                    <script language="javascript" type="text/javascript">document.write(decs("0x88e36b6d468b03acca9737a99ba0fffe05cb3a53de8858b798194826c94719e2193434b3377d69745a1a28879291ecfd69c703de931ac8f551fe22229ef49160"));</script>
        </td>
</tr>

在javascript中,使用函数decs()生成图片。以下是代码:

代码语言:javascript
复制
function decs(a){
return deco(key,hexToString(a),0,1,iv)
};

如果我正确理解,这个函数创建了一个链接到带有电话号码的图片,或者这个函数创建了这张图片。在这种情况下,函数使用一个参数"key“。如何创建这个参数,我不知道。

问题:,我怎样才能用电话号码链接到这张图片,或者在我的程序中下载这个带有电话号码的图片?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-01-20 08:56:33

你有几个选择。一种是使用像OpenWebkitSharp这样的库在.NET应用程序中承载Webkit实例,您可以使用它来执行页面上的任何脚本,然后检查生成的DOM来提取图像。图书馆位于这里:http://code.google.com/p/open-webkit-sharp/

然而,在应用程序中托管webkit意味着需要一段时间才能加载,并且将消耗大量的内存。你需要经常修补webkit的更新,几乎每周发布一次。

假设页面的HTML和Javascript保持不变,另一个选项是使用正则表达式提取特性,然后自己进行转换。

您将有一个正则表达式来查找"decs(“文本,然后提取十六进制编码的文本,然后将其输入到您自己实现的decs函数中,这应该很容易做到。

HTH。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14422227

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档