如何用JS代码获取网页中图片的链接?

varonload_func=function(status,header,body){varpatt_link=newRegExp();varpre_link=body... var onload_func = function (status,header,body){

var patt_link = new RegExp();
var pre_link = body;
pre_link = pre_link.replace(/\n/g, "");

//debug_print(pre_link);

if (status == 200){
debug_print("onload_func start 1");
patt_link.compile(" <a name=\"Main\"></a>"+'(.+?)'+"<!-- publish_helper_end -->");
var for_link = pre_link.match(patt_link);
if(for_link == null)
{
debug_print("no picture!111");
news_public.picture_link = "http://i0.sinaimg.cn/dy/w/p/2010-11-11/1289462639_CyIIMa.jpg";
//news_public.buf_str = " 此网页无内容!";
}
else
{
patt_link.compile("src=\""+'(.+?)'+"\"");
for_link = pre_link.match(patt_link);

if(for_link == null)
{
debug_print("no picture!222");
news_public.picture_link = "http://i0.sinaimg.cn/dy/w/p/2010-11-11/1289462639_CyIIMa.jpg";

}
debug_print(for_link);
news_public.picture_link =for_link;
}

}
debug_print("pre_link complete!");
为什莫for_link是空的?compile里用什么关键字好呢?代码的目的是获取网页正文中图片的链接,需要连得网站是新浪的RSS里的新闻网页。解决问题,分数全部赠送。
谢谢几位的回答。我更想知道为什莫我的正则表达式匹配后是空的?
最主要就是 patt_link.compile(" <a name=\"Main\"></a>"+'(.+?)'+"<!-- publish_helper_end -->"); var for_link = pre_link.match(patt_link);这2句,执行之后,for_link为空。
我问的这个问题的关键点就是这2句,为什莫是空的?我用浏览器打开网页,查看源代码,我所匹配的东西确实是存在的。
展开
 我来答
二頁書
2010-11-26 · 超过24用户采纳过TA的回答
知道答主
回答量:80
采纳率:0%
帮助的人:54.7万
展开全部
patt_link.compile(" <a name=\"Main\"></a>"+'(.+?)'+"<!-- publish_helper_end -->");
这句话其实没有什么效果主要是为了提升一下效率,而正则表达式就是
"<a name=\"Main\"></a>"+'(.+?)'+"<!-- publish_helper_end -"
就是这个问题了,你说看到的,你可以将文本列出来,然后我看下是不是匹配
估计是你看错了
解决问题的时候将问题抽象出来

你应该将那个匹配不成功的文本拿出来用上面的match看是不是正则表达式没写好
如果不是再看是不是其它问题

正则表达式有误
你可以先将patt_link的值设的简单点,例如: "<a" 这样匹配看是否有结果

得到图片连接为什么不这样用document.links 及document.images ?
这个要比与此同时表达式去匹配方便的多
var linksArr = document.links;
for(var i=0; i< linksArr.length; i++)
{
linksArr[i].src ... ...
}
jkchenwo
2010-11-12 · TA获得超过4300个赞
知道小有建树答主
回答量:1019
采纳率:0%
帮助的人:552万
展开全部
你对js基础是了解的,我就不说代码了,首先通过那个连接所属的对像的id获得该对象,然后通过该对象获得他的属性的值,也就是你要获得地址的哪个属性
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
揭扰龙晨Nb
2010-11-12 · TA获得超过484个赞
知道小有建树答主
回答量:1294
采纳率:0%
帮助的人:647万
展开全部
通过document.getElementById()取得元素属性
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
nnigou
2010-11-12 · TA获得超过983个赞
知道小有建树答主
回答量:1580
采纳率:0%
帮助的人:1534万
展开全部
给出几个rss的新闻网页看看代码,找出规则才能适当的使用正则
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式