Python CommonCrawl API过滤器参数上的正则表达式
我试图在filter参数中使用正则表达式,但无法使用$来确定字符串的结尾: 我的请求URL: *.com/&matchtype=domain&fl=url&filter=~url:.com/$Python CommonCrawl API过滤器参数上的正则表达式,python,regex,Python,Regex,我试图在filter参数中使用正则表达式,但无法使用$来确定字符串的结尾: 我的请求URL: *.com/&matchtype=domain&fl=url&filter=~url:.com/$ 我的过滤器使用的是~,这使它成为一个正则表达式 在python正则表达式测试仪上正确验证:对于任何.com URL,只需TLD,例如: API文档: 我基本上在每个网站上都得到了很多我不关心的结果,我只想要TLD。 如果我将$取出,它就会工作。此查询应该可以工作: http://index.commo
- 我的过滤器使用的是
,这使它成为一个正则表达式~
- 在python正则表达式测试仪上正确验证:对于任何.com URL,只需TLD,例如:
$
取出,它就会工作。此查询应该可以工作:
http://index.commoncrawl.org/CC-MAIN-2017-39-index?url=*.com/&fl=url&filter=url:.\.com/$
但将来您可能不得不使用http://index.commoncrawl.org/CC-MAIN-2017-39-index?url=*.com/&fl=url&filter=~url:.\.com/$
=
作为正则表达式过滤器,使用=~
作为“包含”过滤器matchType=domain
,因为URL已由通配符模式匹配*.com/
。它应该查询域名,例如http://index.commoncrawl.org/CC-MAIN-2017-39-index?url=commoncrawl.org&matchType=domain&fl=url
*\.com/$
。请参阅中的改进文档/
是强制性的吗?尝试将其设置为可选,/?
。请注意,未scaped的
匹配任何字符。/始终存在,因此我想将其用作主机名结尾的标记。是的,door匹配任何东西,但这并不重要,因为我已经完成了python正则表达式测试,并且它工作正常。这里的重点是为什么$s不起作用。如果没有API,恐怕很难提供帮助。也许它只是不被支持。您可以尝试其他方法,如\Z
(字符串的最末端)或(?!)
(当前位置后不允许使用字符),但如果$
不允许,我怀疑这些复杂的方法是否有效。出于某些奇怪的原因,这不起作用,只有第1页:*。ie/&fl=url&filter=url:.*\。ie/$&page=1过滤器纯粹是次要的,第二个页面(page=1
)可能不包含任何与筛选器匹配的条目/URL。第三页包含一些:http://index.commoncrawl.org/CC-MAIN-2017-39-index?url=*.ie/&fl=url&filter=url:.\.ie/$&page=2
--需要迭代所有页面。