我有一个元素列表,我正在使用JSOUP的方法attr()来获取href属性。下面是我的部分代码:
String searchTerm = "tutorial+programming+"+i_SearchPhrase;
int num = 10;
String searchURL = GOOGLE_SEARCH_URL + "?q="+searchTerm+"&num="+num;
Document doc = Jsoup.connect(searchURL).userAgent("chrome/5.0").get();
Elements results = doc.select("h3.r > a");
String linkHref;
for (Element result : results) {
linkHref = result.attr("href").replace("/url?q=","");
//some more unrelated code...
}
例如,当我使用搜索prase“test”时,attr(“href”)生成(列表的第一个):
linkHref=https://www.tutorialspoint.com/software_testing/&sa=u&ved=0ahukewi_li-t69jtahxibxqkhu1kblaqfggtmaa&usg=afqjcnhr6ezeyegpddphjndlj-889sj3eq
我只想去的地方:https://www.tutorialspoint.com/software_testing/
解决这个问题最好的方法是什么?我只是在linkHref上添加一些字符串操作(我知道如何操作),还是有办法让href属性包含一个较短的链接?提前致谢
如果总是希望删除query
参数,可以使用String.indexOf()
例如。
int lastPos;
if(linkHref.indexOf("?") > 0) {
lastPos = linkHref.indexOf("?");
} else if (linkHref.indexOf("&") > 0){
lastPos = linkHref.indexOf("&");
}
else lastPos = -1;
if(lastPos != -1)
linkHref = linkHref.subsring(0, lastPos);
我的代码返回网页上的所有链接,但当我在谷歌上搜索某些东西时,例如“android”,我想获取第一个链接。我该怎么做? 这是我的代码
问题内容: import urllib2 到目前为止,一切都很好。 但是我只希望纯文本HTML中的href链接。我怎么解决这个问题? 问题答案: 尝试使用Beautifulsoup: 如果您只想要以开头的链接,则应使用: 在带有BS4的Python 3中,它应该是:
我有一些url。我想从url指向的html中获取所有href,从所有获取的hrefs中获取所有href(递归)。关键是我想设置“递归”的深度。例如,如果深度=1,我只需要来自超文本标记语言的href。如果深度=2,我需要来自超文本标记语言的hrefs(假设为list1)和来自list1的每个href的hrefs,依此类推 以下是我使用jsoup得到的结果: 我应该如何修复递归条件以使其正确?
我有一个html链接
问题内容: 以下是一堆链接,其中 只有一个 具有子字符串“ long”作为属性href的值 我需要单击其子字符串为“ long” 的链接。我怎样才能做到这一点? PS://由名字选择的b / c 问题答案: 我需要单击href包含子字符串“ long”的链接。我怎样才能做到这一点? 具有CSS选择器的美丽。 您的陈述将是… 这是英文的意思 给我找到任何具有属性的“ a”元素,以及具有“ long”