找回密码
 加入
搜索
查看: 2858|回复: 6

[IE类操作] 网页url地址不是完整的地址,另外一半在哪里?

  [复制链接]
发表于 2014-5-8 10:48:11 | 显示全部楼层 |阅读模式
http://www.jbc.org/content/285/10/e99920.full
用autoit找到Full Text (PDF)对应的地址,发现是下面的代码
  <li><a href="/content/285/10/7045.full.pdf+html" rel="full-text.pdf">Full Text (PDF)</a></li>
就是说提取出来的地址是
/content/285/10/7045.full.pdf+html
问题是前面的部分在哪里了?
发表于 2014-5-8 11:43:27 | 显示全部楼层
加上域名就行了
发表于 2014-5-8 12:14:25 | 显示全部楼层
 楼主| 发表于 2014-5-8 12:19:51 | 显示全部楼层
本帖最后由 sex123 于 2014-5-8 12:22 编辑
加上域名就行了
kevinch 发表于 2014-5-8 11:43



    以前也想过这个办法,后来发现网址很多都不一样,而且有的网址跳转多次,取得域名比较费事,设计代码发现很多问题,就在想能不能从返回的网页本身入手。不知道网页内容本身什么地方会不会藏着前半段。
比如下面这个
http://onlinelibrary.wiley.com/doi/10.1111/aen.12065/abstract
Get PDF所代表的是
/doi/10.1111/aen.12065/pdf
想从返回的网页内容里准确找到
http://onlinelibrary.wiley.com
而不是从域名里找,因为这个域名需要跳转多次才能得到域名的前半部分。
发表于 2014-5-8 15:18:46 | 显示全部楼层
如果你是从链接集合里找到的,会是完整路径,如果是从源文件里,就可能是半截,可以用htmlfile对象复原再提取链接
 楼主| 发表于 2014-5-8 16:43:07 | 显示全部楼层
如果你是从链接集合里找到的,会是完整路径,如果是从源文件里,就可能是半截,可以用htmlfile对象复原再提 ...
kevinch 发表于 2014-5-8 15:18



    能就这个网页给写一个列子吗,我对这个htmlfile一无所知。
发表于 2014-5-8 20:57:13 | 显示全部楼层
#include <ie.au3>

$oie=_IECreate("http://www.jbc.org/content/285/10/e99920.full",1,1,1,0)
For $lnk In $oie.document.links
        If $lnk.innertext=="Full Text (PDF)" Then
                MsgBox(0,"",$lnk.href)
                ExitLoop
        EndIf
Next
$oie.document.parentwindow.execscript('javascript:window.opener=null;window.open("","_self");window.close();')
这个试一下吧
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-11-17 02:36 , Processed in 0.084685 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表