我需要从下面的代码中提取“https://www.somesite.com/Some.Name.123”。
该代码段重复多次,我需要URL ..Some.Name.X。
我感兴趣的每个代码段之间还有其他代码段,周围的html非常不同。我不需要那些其他段中的..Some.Name.x URL。
以下内容对于我需要的网址是唯一的:"<a class="-cx-PRIVATE-uiImageBlock__image"
<div class="clearfix pvm">
<a class="-cx-PRIVATE-uiImageBlock__image -cx-PRIVATE-uiImageBlock__largeImage lfloat"
aria-hidden="true" tabindex="-1" href="https://www.somesite.com/Some.Name.123">
答案 0 :(得分:1)
我不知道如何使用iMacros标记前面的HTML,或者如何使用jQuery进行标记,因为每次结构都会有所不同,但你可以这样做。
使用iMacros保存网页。编写程序(c等)以读取每个保存的文件,并将“cx-PRIVATE-uiImageBlock__image”后面的URL写入文件。将该URL列表添加到iMacro,或让iMacros读取该文件,然后处理来自iMacros的每个URL。
答案 1 :(得分:0)
您需要使用一些脚本。 我的回答是使用jQuery
var listoflinks = []; //array containing your links
$('a[href*="somesite.com"]').each(function () { // for each link that contains somesite.com in href
var j = $(this).attr('href'); //put the whole href in a variable
listoflinks.push(j); // put all values in an array
});
你最终会得到一个包含你正在寻找的所有href值的数组。
如果您想查看示例和/或想要使用脚本,可以访问: http://jsfiddle.net/flish/rESjg/
编辑 您的代码仍然不够清晰,但希望这可能会有所帮助
<a class="sibling a" href="link">sibling a</a><br />
<div class="sibling div"><br />
<a class="child a" href="start-with-link/correct-link">Child a</a><br />
</div><br />
以上是我用过的标记。这意味着我认为你有以下要素: a //带有sibking div
div //与孩子一起
a //并且所有人都有适当的班级
对于此标记,您可以使用以下代码(当然是jQuery)
var listoflinks = []; //array containing your links
$('a[class="sibling a"]').siblings('div[class="sibling div"]').children('a[class="child a"]').each(function () {
if ((($(this).attr("href")).substring(0,15))=="start-with-link"){
var i = $(this).attr("href");
listoflinks.push(i);
}
});
查看http://jsfiddle.net/flish/HMXDk/
的详细示例尽管如此,你可以添加更多兄弟元素和子元素,以防你忘记提及其他html实体
<a class="-cx-PRIVATE-uiImageBlock__image" ------------------ <div class="clearfix pvm"> <a class="-cx-PRIVATE-uiImageBlock__image -cx-PRIVATE-uiImageBlock__largeImage lfloat" aria-hidden="true" tabindex="-1" href="somesite.com/some.name.123">
例如,上面代码中的------------------是什么意思?