爬取电影网中的电影详情数据
#url = 'https://movie.douban.com/typerank?type_name=%E7%A7%91%E5%B9%BB&type=17&interval_id=100:90&action='
动态加载数据
当滚轮滑动到底部时候 页面会发起AJAX请求 且请求一组电影详情数据
当滚轮不滚动时候 页面显示的电影数据 通过浏览器地址栏的URL发起的请求是请求不到的
动态加载的数据
概念:通过非浏览器地址栏URL请求到的数据 是另外一个新的请求到的数据
当我们对一个陌生的网站进行指定数据之前 我们必须校验爬取的数据是否为动态加载的数据
-动态加载的数据
基于抓包工具进行全局搜索,锁定动态加载数据对应的数据包即可,从数据包中可以提取请求的URL和请求方式 请求参数
-非动态加载数据
直接对地址栏发起请求就可以获取指定数据
url = 'https://movie.douban.com/j/chart/top_list'
参数动态化
headers = {
"User-Agent": 'Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Mobile Safari/537.36 Edg/89.0.774.54'
}
params={
'type': '17',
'interval_id': '100:90',
'action':'' ,
'start': '0',
'limit': '5',
}
response = requests.get(url=url,headers=headers,params=params)
page_text = response.json()
# print(page_text)
将电影名称和评分解析
for dic in page_text:
name = dic['title']
score = dic['score']
print(name+':'+score)
如何鉴别网页中的数据为动态加载数据?
基于抓包工具进行全局搜索 能搜索到的不是动态加载数据 不能搜索到就是动态加载