【发布时间】:2015-02-28 14:56:24
【问题描述】:
我正在尝试从 boxofficemoviemojo.com 中删除数据,并且我已正确设置所有内容。但是,我收到了一个我无法弄清楚的逻辑错误。本质上,我想获取前 100 部电影并将数据写入 csv 文件。
我目前正在使用本站的html进行测试(其他年份相同):http://boxofficemojo.com/yearly/chart/?yr=2014&p=.htm
有很多代码,但这是我正在努力解决的主要部分。代码块如下所示:
def grab_yearly_data(self,page,year):
# page is the url that was downloaded, year in this case is 2014.
rank_pattern=r'<td align="center"><font size="2">([0-9,]*?)</font>'
mov_title_pattern=r'(.htm">[A-Z])*?</a></font></b></td>'
#mov_title_pattern=r'.htm">*?</a></font></b></td>' # Testing
self.rank= [g for g in re.findall(rank_pattern,page)]
self.mov_title=[g for g in re.findall(mov_title_pattern,page)]
self.rank 完美运行。但是 self.mov_title 没有正确存储数据。我想收到一个包含 102 个元素的列表,其中包含电影标题。但是我收到 102 个空字符串:''。一旦我弄清楚我做错了什么,该程序的其余部分将非常简单,我只是无法在网上找到我的问题的答案。我已经尝试更改 mov_title_pattern 很多次,但我要么一无所获,要么收到 102 个空字符串。请帮助我真的很想继续我的项目。
【问题讨论】:
标签: python html regex web-scraping html-parsing