- 主题:请教大侠,网页描红定位
公司的项目,布置的任务就剩这个没有任何思路,PHP开发的网站,打开一个外部网页链接后,要求网页能够直接通过滚动到数据库中对应的“关键字”位置,并描红显示。
举个例子,比如今天新浪首页有条新闻“ABC123”,需要右边滚动条下拉第二页。这个标题已经预先存储到自己的数据库了。然后在我们自己网站的页面点击“ABC123”后,直接新窗口弹出新浪的首页,要求直接滚动到“ABC123”的位置,并描红显示。
多谢各位大侠了!
--
FROM 123.120.32.*
恩,刚才可能没描述清楚。首先不是类似于机器的自动爬行,目标网页需要高亮显示的关键词已经事先通过人工记录了,需要的就是用户打开链接弹出这个网页的时候,网页自动定位到关键词的地方,并描红显示。
另外,如果自己做处理显示的话,总不能把新浪的页面都自己画一遍吧。唉,领导拍脑袋想出来的,累死人啊。
【 在 Eliot (好警察) 的大作中提到: 】
: 那也不行,跨域操作不了
: 除非自己服务端读取远端结果,处理完输出或者显示完在自己的域里处理
--
FROM 123.120.32.*
是啊,我也是这么跟组长说的,但是刚才PHP版的一个哥们给个建议,如下,
“
1.用自己的页面frame外链页面
2.用js获取外联页面的dom,查找关键字“ABC123”
3.获取该关键字所在元素在frame页面内的X,Y坐标及元素自身的高度和宽度
4.js控制frame滚动条滚动到相应高度
5.js在相应位置添加一个浮动层,红色半透明,高度宽度与关键字所在元素一致
”
看上去,似乎也是满靠谱的啊。
但现在的问题就是,JS不能跨域操作,怎么获取外连页面的DOM呢。
【 在 sagu (九州) 的大作中提到: 】
: 这是不可能做到的!你怎么可能去操作第三方网站的页面呢?
: 你必须把别人网站的东西读取到服务器上来进行操作。
--
FROM 123.120.32.*
呵呵,多谢寒江客,前辈对自己的帖子真是负责任啊。现在是弄懂了,也感谢你给我们提供了一个好思路,其实刚才的新浪首页只是举个例子,我们需要访问的外部页面其实并不多,可以事先抓取保存为本地文本或者静态HTML的。
多谢各位了!
【 在 yourgf (寒江客--坚决不做贩子) 的大作中提到: 】
: 这个前提是外链页面已经被抓到本地作为文本或者静态html保存
: 如果是在外站服务器上是没戏的
: 之前给你的回文中没完全搞明白
: ...................
--
FROM 123.120.42.*