ajax返回list前台遍历_Python爬虫教程-17-ajax爬取实例(豆瓣电影)

ajax: 简单的说,就是一段js代码,通过这段代码,可以让页面发送异步的请求,或者向服务器发送一个东西,即和服务器进行交互

对于ajax:

  • 1.一定会有 url,请求方法(get, post),可能有数据
  • 2.一般使用 json 格式

爬取豆瓣电影

网站分析:

  • 打开豆瓣电影网站:https://movie.douban.com/,选择【排行榜】,点击【动作】分类
  • 一直往下滑,可以看到这样的效果:快到低的时候又有了新的内容,也就是往下没完
  • 基本可以判定使用了 ajax 请求,进行异步的加载

v2-e0c1d1b4e10aa3ae30be30aedd738e95_b.jpg

然后进去检查请求的信息:

  • 1.右键【检查】>【Network】
  • 2.向下滚动页面
  • 3.可以看到请求在不断不更新,点击一个请求,就可以看到请求的信息

v2-539f2092bab39c54a43943f7422c3e19_b.jpg

代码

# 爬取豆瓣电影数据
# 了解ajax的爬取方式
# https://movie.douban.com/

from urllib import request
import json

# url信息:interval_id表示排名段(可自行修改),limit限制20个
url = "https://movie.douban.com/j/chart/top_list?type=5&interval_id=100%3A90&action=&start=20&limit=20"

rsp = request.urlopen(url)
data = rsp.read().decode()

data = json.loads(data)

print(data)

运行结果

可以看到结果在一行显示

v2-dcf53e51f4f6e9c3dd915fd1b207d8c2_b.png

修改输出格式

  • 对于返回的json数据,我们选择想要的内容,想要的格式输出

代码

# 爬取豆瓣电影数据
# 了解ajax的爬取方式
# https://movie.douban.com/
#Python学习交流群:973783996

from urllib import request
import json

# url信息:interval_id表示排名段(可自行修改),limit限制20个
url = "https://movie.douban.com/j/chart/top_list?type=5&interval_id=100%3A90&action=&start=20&limit=20"

rsp = request.urlopen(url)
data = rsp.read().decode()

data = json.loads(data)

# 遍历输出每个'k'和'v'的值
for item in data:
      print("排名:", item['rank'], "n",
            "名称:", item['title'], "n",
            "类型:", item['types'], "n",
            "主演:", item['actors'], "n",
            "分数:", item['score'],"n-------------",)

运行结果

v2-b84417c06f754241b19dc079517b81b0_b.jpg

这里结果就比较顺眼了,如果需要更改排名段,因为是get请求,修改需要在url参数即可

原文:

https://blog.csdn.net/qq_40147863/article/details/82079839​blog.csdn.net
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值