我正在尝试使用程序Bulk Image Downloader
中的忽略列表,并且包含/排除列表使用正则表达式。该程序允许您搜索范围,例如:
http://example.com/gallery/page[1-99].htm
从页面中提取图像
example.com/gallery/page1.htm
example.com/gallery/page2.htm
…
example.com/gallery/page99.htm
足够简单吧?搜索使用"yyyymmdd"
格式而非使用简单"page#"
格式的网站时会出现此问题。
我想出了这个
example.com/[yyyy0101-yyyy1231].html
无论我在哪个年份从yyyy
下载所有适当的页面,我只需要通过并删除箔条。问题是搜索它搜索的365个页面而不是搜索
1131并且搜索时间大约是搜索的12倍,因为它搜索所有不存在的日期并尝试不响应4次的页面。
然后我找到了一个解决方法:
example.com/images/[yyyy0101-yyyy1231].png
因为我正在下载的一些网站将他们的图片放在一个地方。但我遇到了同样的问题,但相反。图像搜索立即结束,但是所有不存在的日期都有虚假图像(程序给它们占位符),这些图像在下载时而不是在搜索时会永远经历。
所以我尝试为排除列表编写一个正则表达式,它会自动删除在不存在的日期范围内找到的任何内容。我甚至查看每个月有多少天,并确保在2月29日离开闰年。观看。
[0132-0200]
[0230-0300]
[0332-0400]
[0431-0500]
[0532-0600]
[0631-0700]
[0732-0800]
[0832-0900]
[0931-1000]
[1032-1100]
[1131-1200]
结果是正则表达式不像程序本身那样工作。我试着查一下,坦率地说不太了解它。
那么这看起来究竟应该如何?
我不需要排除正则表达式,因为它进入忽略列表。虽然它可能对其他人有用。
修改的
开始的
我希望程序只通过隔离无效/不存在的mmdd日期来显示照片上实际日期的图片。 我不知道程序使用什么样的正则表达式。从他们的网站:
以下字符在常规使用时具有特殊含义 表达式,如果你想使用,必须以反斜杠(
\
)作为前缀 它们是正则表达式中的文字。
[, \, ^, $, ., |, ?, *, +, (, ), /
^ =行的开头$ =行尾。 =匹配任何字符\ x =使用 文字字符x
有关正则表达式的详细说明,请访问 http://wikipedia.org/wiki/Regular_expression
结束
修改的
答案 0 :(得分:0)
根据Bulk Image Downloader用作正则表达式引擎的内容,您可以尝试:
example.com/[201301-201312](0[1-9]|[1-2][0-9]|3[0-1]).html
这可让您选择所选年份的有效月份
[201301-201312]
然后日期可以是01 - 09
0[1-9]
10-29
[1-2] [0-9]
或30,31
3[0-1]
使用或运算符
将日期部分合并到一个组中(0[1-9]|[1-2][0-9]|3[0-1])
如上所述,它可能会整整一年。再次取决于他们决定使用哪种正则表达引擎。