我想提取整个网站上所有网络源代码中的DoubleClick网址的所有类别值;
<script type="text/javascript">
var axel = Math.random() + "";
var a = axel * 10000000000000;
document.write('<iframe src="https://1234567.fls.doubleclick.net/activityi;src=1234567;type=examp123;cat=examp999;ord=1;num=' + a + '?" width="1" height="1" frameborder="0" style="display:none"></iframe>');
</script>
<noscript><iframe src="https://1234567.fls.doubleclick.net/activityi;src=1234567;type=examp456;cat=examp888;ord=1;num=1?" width="1" height="1" frameborder="0" style="display:none"></iframe></noscript>
我想提取的内容如下:
我在@AnkitMishra回答中试过了以下内容;
https:\/\/(?:.*.doubleclick.net).*cat=([^;]*);
这将返回两个值 - 但是我用来抓取网站所有页面的工具只返回每个正则表达式一个匹配项。它不支持多个值,因此返回第一个匹配项。如何创建第二个字符串,以捕获第二个Cat值?
如果一个cat值是默认值,即defau123 - 我可以在上面的规则中使用这样的东西来忽略defau123的cat值,但是传递其他东西吗?
^((?defau123)。)* $
非常感谢任何帮助!
答案 0 :(得分:0)
如果您正在尝试在正则表达式中更具选择性,那么您需要扩展正则表达式以匹配更多数据。如果您可以使用后面的内容,请确保{URL}之前有><iframe src="
。
(?<=\>\<iframe\ src\=\")https:\/\/(?:.*.doubleclick.net).*cat=([^;]*);
如果无法查看背后或><iframe src="
不可靠,那么您需要找到自己的可靠锚。