0
我有这些正则表达式来抓取奥斯卡颁奖典礼,获奖以及来自某人的提名(例如Cote de Pablo)。从IMDb获取人与电影/电视系列片的奖项
preg_match('/([0-9]+) Oscars/', $url, $oscars);
preg_match('/([0-9]+) ([win|wins]+)/', $url, $wins);
preg_match('/([0-9]+) nominations/', $url, $nominations);
还有比这三个奖项,虽然我不知道我怎么能抓住所有的奖项对于一个人,一部电影或有两个分开的正则表达式的电视系列?
在此先感谢。
请不要使用正则表达式解析HTML,因为它会[驱动你į̷̷͚̤̤̖̦͍͗̒̈̅̄n̨͖͓̹͍͎͔͈̝͐ͪ͛̄͛ṣ̷̵̞̦ͤ̅̉̋ͪ͑͛ͥ͜a̷̘͖̮͔͎͛̇̏̒͆̆͘n͇͔̤̼͙̩͖̭ͤ͋̉͌͟eͥ͒͆ͧͨ̽͞҉̹͍̳̻͢](http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags/1732454 #1732454)。改为使用[HTML解析器](http://stackoverflow.com/questions/292926/robust-mature-html-parser-for-php)。 – 2012-07-27 23:40:43
在编程过程中,正则表达式可能会导致一些(阅读:很多!!)挫折,是的:P我会尝试你提出的建议,但我也想知道正则表达式对于我的“小”问题会是什么样子。 – Erik 2012-07-27 23:44:48
解析显示在表格中的奖励页面中的HTML(例如http://www.imdb.com/name/nm0000129/awards),而不是使用正则表达式,这肯定会比它的价值更令人头疼。还应该注意的是,在技术上,IMDB [不允许屏幕抓取](http://www.imdb.com/help/show_article?conditions) – ernie 2012-07-27 23:47:30