2014-12-02 68 views
1

我想download an iCal file to my app.它工作正常,但链接到此文件将change every 6 months.继承链接到文件的页面/链接不会更改,所以我想看看代码main page and find the link to the iCal file to download it.Android:从HTML代码中获取链接(无标记/ ID)

我认为这可能与JavaScript的效果最好,但我不知道这一点。也没有标签或ID我可以搜索。

这是网页搜索的链接:

https://stundenplan.hs-furtwangen.de/splan/std?act=tt&lan=de&pu=-1&sel=pg&og=1433&pg=CNB4

的搜索模式将"/splan/ical"还有我发现链接到文件。

最后我需要"/splan/ical?type=pg&puid=6&pgid=1617&lan=de"存储在某个地方。

现在我只使用Downloadmanager来获取文件,没有html代码存储在任何地方。

希望有人能帮忙。谢谢。

编辑:

这里是包含链接(第一HREF)HTML源代码的一部分:

<tr> 
 
\t <td /> 
 
\t <td colspan="1"><a 
 
\t \t href="/splan/ical?type=pg&amp;puid=8&amp;pgid=2505&amp;lan=de"><img 
 
\t \t \t style="align: middle; border: 0;" src="/splan/pictures/ical.png" 
 
\t \t \t alt="ics feed" height="20" /></a> 
 

 

 
<a href="http://www.progotec.de/site/splandok/iCal-Anbindung" 
 
\t target="_blank"><img style="align: middle; border: 0;" 
 
\t alt="Hilfe zu ICal" 
 
\t src="/splan/pictures/hilfe.png" 
 
\t title="Hilfe zu ICal" height="20" /></a> 
 
</td> 
 
</tr>

+1

您可以更好地张贴包含链接的HTML源代码的一部分。 – greenapps 2014-12-02 10:40:00

+0

我认为你的应用中没有任何JavaScript框架,这就是为什么只用正则表达式下载页面并在下载的页面上搜索,而不是在“在线”页面上使用JS会更好。 – Eun 2014-12-02 10:55:59

+0

感谢您的回答 @Eun:您的意思是将整个html代码保存在某个地方,并搜索正则表达式的链接?你有一个例子或什么? – kinglite 2014-12-02 12:14:12

回答

1

我不知道你在找什么,但是通过这个javscript脚本你可以找到链接。

//like this you could look for the link on the page 
 
//search done with Regularexpression 
 
alert(document.body.innerHTML.match(/(\/splan\/ical[^"]*)/gi));
<body> 
 
<!-- THIS WOULD HAVE TO BE THE BODY OF THE PAGE --> 
 
    ... 
 
    <a 
 
\t \t href="/splan/ical?type=pg&amp;puid=8&amp;pgid=2505&amp;lan=de"><img 
 
\t \t \t style="align: middle; border: 0;" src="/splan/pictures/ical.png" 
 
\t \t \t alt="ics feed" height="20" /></a> 
 
    ... 
 
</body>

这里正则表达式演示了整个stundenplan.hs-furtwangen.dehttp://regex101.com/r/wF3wU4/1

+0

这看起来很有趣。 1.我需要将此字符串保存在某处。我是否可以这样做 String link = document.body.innerHTML.match(/(\/splan \/ical [^“] *)/ gi);? 2.是”document“是我保存我的对象html-code? – kinglite 2014-12-02 11:58:16

+0

ad 1. yes you can。ad 2.' document' is the HTML DOM document。如果你的字符串/变量中有“html-code”,那么你的链接就是'link = codeStringVariable.match(/(\/splan \/ical [^“] *)/ gi)'应该足够了(使用javscript时)。 – 2014-12-02 12:42:55