[Python]计算豆瓣电影TOP250的平均得分

用python写的爬虫练习,感觉比golang要好写一点。

 1 import re
 2 import urllib
 3 
 4 origin_url = 'https://movie.douban.com/top250?start=00&filter='
 5 urls = []
 6 scores = []
 7 
 8 
 9 def get_url():
10     step = 0
11     while step <= 250:
12         tmp = origin_url[:38]
13         tmp += str(step)
14         tmp += origin_url[40:]
15         urls.append(tmp)
16         step += 25
17 
18 def get_html(url):
19     page = urllib.urlopen(url)
20     html = page.read()
21     return html
22 
23 
24 def get_score(html):
25     score = []
26     reg = r'property="v:average">([0-9].[0-9])</span>'
27     score = re.findall(re.compile(reg), html)
28     return score
29 
30 
31 def solve():
32     get_url()
33     for each in urls:
34         print each
35         scores.append(get_score(get_html(each)))
36     sum = 0
37     cnt = 0
38     for each in scores:
39         if cnt == 250: break
40         for i in range(0, len(each)):
41             if cnt == 250: break
42             cnt += 1
43             sum += float(each[i])
44     return sum / 250
45 
46 print solve()

 

转载于:https://www.cnblogs.com/kirai/p/5756854.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值