python爬虫 爬取豆瓣网电影详情

爬取电影网中的电影详情数据

#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)

如何鉴别网页中的数据为动态加载数据?

基于抓包工具进行全局搜索 能搜索到的不是动态加载数据 不能搜索到就是动态加载

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值