【发布时间】:2013-08-12 00:11:30
【问题描述】:
免责声明:我知道 html 和 regex 不应该站在一起,但这是一个例外情况。
我需要解析 Google 搜索结果并提取缓存 URL。我在页面上有这个:
<a href="/url?q=http://webcache.googleusercontent.com/search%3Fq%3Dcache:
gsNKb7ku3ewJ:somedata&ei=MyIIUtrZAcPX7AaVzIHwDg&ved=0CB8QIDAC&usg
=AFQjCNGcnWfdzQiTKwyAMmI-M-xzxII5Ag">Cached</a>
我尝试了简单的东西,例如:href=[\'"]?([^\'" >]+),但这不是我需要的。我想从 href 中提取单个参数 (q)。我需要得到:
http://webcache.googleusercontent.com/search%3Fq%3Dcache:gsNKb7ku3ewJ:somedata
所以当内容中包含单词“webcache”时,“url?q=”和第一个“&”之间的所有内容。
【问题讨论】:
-
据我所知,这不是一个例外情况。你是用 javascript 还是其他东西来做这个?
-
(?<=href=[\'"]?/url\?q=)[^&\'">]+(?=&)可以解决问题吗? -
@WesleyMurch Python ..
-
为什么不使用 DOM 解析器?