版权声明:本文章为沐言-BigTree原创,转载复制请标明出处 https://blog.csdn.net/u011318077/article/details/86633196
上接:
Python3网络爬虫教程9——有道在线翻译项目(破解JS加密过程)
https://blog.csdn.net/u011318077/article/details/86592160
7. ajax异步请求
-
异步请求
-
一定会有url,请求方法,可能有数据
-
一般使用json格式
-
豆瓣排行榜-剧情:https://movie.douban.com/typerank?type_name=剧情&type=11&interval_id=100:90&action=
-
该网页向下拉动,一直拉不完,会自动请求,更新页面,就是使用了ajax请求
- 打开上面网页,然后滚动,检查页面,观察每次向下滚动的变化,发现,每次向下滚动
- 会出来一个新的请求网址,同时每次更新的图片也在20张,
- 参考图片43_20.png
- 拿出其中两个请求URL进行比较分析
https://movie.douban.com/j/chart/top_list?type=11&interval_id=100%3A90&action=&start=20&limit=20
https://movie.douban.com/j/chart/top_list?type=11&interval_id=100%3A90&action=&start=40&limit=20https://movie.douban.com/j/chart/top_list? 电影类型剧情:type=11& 评分区间好于100%到90%的影片:interval_id=100%3A90& 这个不管:action=& 从第四十部开始:start=40& 每次刷新限制为20部,下面对应20张图片请求:limit=20
-
案例43_20,爬取豆瓣电影数据
# 爬取豆瓣电影
# 了解ajax请求(向下滚动网页,网页自动不停的更新)
import json
from urllib import request
if __name__ == '__main__':
url = 'https://movie.douban.com/j/chart/top_list?type=11&interval_id=100%3A90&action=&start=40&limit=20'
rsp = request.urlopen(url)
# 读取网页数据,一般为json格式, 直接读取到的是bytes格式,解码后是一个str字符串格式
data = rsp.read().decode()
print(type(data))
# json格式进行解码为python格式,发现是一个list
data = json.loads(data)
print(type(data))
print(data)
下接:
Python3网络爬虫教程11——Requests包(HTTP for Humans)
https://blog.csdn.net/u011318077/article/details/86633261