猫眼电影专业版数据爬取
最近学习了一点简单的爬虫,利用山海鲸APP做了一个简单的可视化界面,接下来把我的内容分享给大家。
1.导入包
以下是这次爬取数据需要用到的包,当然也可以使用Xpath、或者是beautifulsoup凭个人喜好来。
import requests
import csv
from fake_useragent import UserAgent # ⽣成随机User-Agent以避免被识别为⾃动化脚本
import json
2.关于函数
这了存储数据的格式类型为.csv
然后因为我代码没进行优化重复性很高,因此,封装了一个存储数据的函数如下。
def append_data_to_csv(data,path):
# 写入CSV文件
with open(path, "a", newline="", encoding="utf-8") as csv_file:
writer = csv.DictWriter(csv_file, fieldnames=data[0].keys())
# 如果文件为空,写入表头
if csv_file.tell() == 0:
writer.writeheader()
# 写入新数据
writer.writerows(data)
3.访问猫眼电影专业版
这里访问的是动态网页通过Network中的Fetch/XHR中找到的URL。如下图所示。
代码如下:
# 获取电影票房信息Comprehensive box office
# 初始化随机User-Agent,⽤于伪装成不同的⽤户浏览器访问
ua = UserAgent()
headers={
'User-Agent': ua.random}
url = 'https://piaofang.maoyan.com/dashboard-ajax?orderType=0&uuid=18fe0a801fec8-0da5ff1dd65145-4c657b58-1bcab9-18fe0a801fec8&timeStamp=1717473044447&User-Agent=TW96aWxsYS81LjAgKFdpbmRvd3MgTlQgMTAuMDsgV2luNjQ7IHg2NCkgQXBwbGVXZWJLaXQvNTM3LjM2IChLSFRNTCwgbGlrZSBHZWNrbykgQ2hyb21lLzEyNS4wLjAuMCBTYWZhcmkvNTM3LjM2IEVkZy8xMjUuMC4wLjA%3D&index=647&channelId=40009&sVersion=2&signKey=5de146e3635549eaa1a765c2ac929c97'
response = requests.get(url,headers=heade