我尝试使用Python regex从下面的HTML标记中获取所有带有id='revSAR'
的url:
<a id='revSAR' href='http://www.amazon.com/Altec-Lansing-inMotion-Mobile-Speaker/product-reviews/B000EDKP8U/ref=cm_cr_dp_see_all_summary?ie=UTF8&showViewpoints=1&sortBy=byRankDescending' class='txtsmall noTextDecoration'>
See all 136 customer reviews
</a>
我尝试了下面的代码,但它不起作用(它不打印任何内容):
^{pr2}$
您不需要匹配那些不必要的部分,如
id=...
,href=...
,请尝试以下操作:regex = 'http://.*\'\s+'
首先,你的正则表达式为什么不起作用?在html中,属性用单引号引起来,而在正则表达式中则是双引号。你只需要关心href属性。尝试使用
href=['"](.+?)['"]
作为regex,如果使用ignore case开关会更好但同样,使用regex解析html是一个非常糟糕的决定。请通过this
你可以试试
然而,就个人而言,我更愿意使用像BeautifulSoup这样的HTML解析库来完成这样的任务。在
相关问题 更多 >
编程相关推荐