2012-07-27 183 views
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); 

还有比这三个奖项,虽然我不知道我怎么能抓住所有的奖项对于一个人,一部电影或有两个分开的正则表达式的电视系列?

在此先感谢。

+3

请不要使用正则表达式解析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

+0

在编程过程中,正则表达式可能会导致一些(阅读:很多!!)挫折,是的:P我会尝试你提出的建议,但我也想知道正则表达式对于我的“小”问题会是什么样子。 – Erik 2012-07-27 23:44:48

+2

解析显示在表格中的奖励页面中的HTML(例如http://www.imdb.com/name/nm0000129/awards),而不是使用正则表达式,这肯定会比它的价值更令人头疼。还应该注意的是,在技术上,IMDB [不允许屏幕抓取](http://www.imdb.com/help/show_article?conditions) – ernie 2012-07-27 23:47:30

回答

1

老实说,你可以复制/粘贴它,但是如果你想要它持续更新它就是一个不同的故事。

相关问题