基于Python猫眼票房TOP100电影数据抓取
本次爬取数据使用Python语言在jupyter notebook上爬取的,并使用数据生成了一些图表。
使用requests库抓取数据
本段代码提取(www.maoyan.com/board/4) 网页中所有信息
.
import requests as req
import re
from bs4 import BeautifulSoup as bs
import time as ti
def link(url):
header = {
"User-Agent" : "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.81 Safari/537.36 Edg/94.0.992.50",
"cookie" : "__mta=49569177.1634546762447.1635751930589.1635755537866.189; __mta=49569177.1634546762447.1635755537866.1636089904755.190; _lxsdk_cuid=17c92944154c8-0976821c9ff2ba-513c1f42-1fa400-17c9294415486; _lx_utm=utm_source=Baidu&utm_medium=organic; Hm_lvt_703e94591e87be68cc8da0da7cbd0be2=1634709537,1634709791,1634709795,1635568974; __mta=246700987.1634548728665.1634549353008.1635568973951.3; uuid_n_v=v1; uuid=2B2B05903C7611EC9D395F5B080ABF0B13E32B82F40F483EA9968669224339F7; _csrf=04f1258f2b355ec8fc0e1f4b729b4545d23fc1610830265d79846b5d5b3fc7cf; _lxsdk=2B2B05903C7611EC9D395F5B080ABF0B13E32B82F40F483EA9968669224339F7; Hm_lpvt_703e94591e87be68cc8da0da7cbd0be2=1636089905; _lxsdk_s=17cee6e2ca2-e12-d9c-bd9||14"
}
res = req.get(url,headers = header)
if res.status_code == 200:
return bs(res.text,"lxml")
return None
上面的代码中,cookie需要自己去更改。
打开猫眼界面(www.maoyan.com/board/4),cookie方式如图所示
BeatifulSoup解析URL,将数据存入csv文件
Title = []
Director = []
Actors = []
Rating = []
Income = []
Duration = []
Type = []
Region = []
Release = []
main_Type = []
Score = []
for i in range(0,100,10):
url = "https://maoyan.com/board/4?offset=" + str(i)
movies = link(url).find_all("dd")
for i in movies:
img = i.find("img",class_ = "board-img").get("data-src")
num = i.find