爬取貓眼電影top100
一個簡單的練手小項目
- headers中的Accept-language要改爲zh-cn,不然會亂碼。
- 正則表達式中的()是讓匹配結果按組輸出,一次只輸出用括號括住那幾個部分。
import requests
import re
headers={'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.117 Safari/537.36','Accept-language':'zh-cn'}
for i in range(0,100,10):
res=requests.get('https://maoyan.com/board/4?offset=%d'%i,headers=headers)
if res.status_code==200:
res.encoding=res.apparent_encoding
res_html=res.text
patterm='''<p class="name"><a href="/films/.*?" title="(.*?)".*?<p class="star">.*?(.*?).*?</p>.*?p class="releasetime">(.*?)</p>.*?<p class="score"><i class="integer">(.*?)</i><i class="fraction">(.*?)</i></p>'''
data=re.findall(patterm,res_html,re.S)
add_0=i
for x,y,z,i,j in data:
add_0+=1
print('排名:',add_0)
print('電影名:',x,end=" ")
print(y)
print(z)
print('評分:',i+j)
print('\n')