ajax请求的抓取

访问url返回一个框架
这个框架里面是没有内容的

这时ajax发送一个新的请求给服务器
然后服务器在把数据返回过来
填充到框架里

AJAX 不是新的编程语言,而是一种使用现有标准的新方法。
AJAX 最大的优点是在不重新加载整个页面的情况下,可以与服务器交换数据并更新部分网页内容。

说的更简单一点
打开一个网页
鼠标滑轮往下刷
你会发现不断有新的内容出现
这就是Ajax功能
并不是一时间把所有页面都加载出来
而是你刷到哪就给你加载信息

////////////////////////////////////

打开一个电影库URL
进入命令台
Network—XHR—左边Ajax文件随机选一个
右边选择Headers,复制里的URL
然后浏览器打开
复制全部
然后使用JSON解析器打开
最后你看到电影名和链接和作者整齐的显示开了

你继续用滑轮往下刷
你会看到Ajax文件不断增多
你可以寻找这些文件对应右边的URL的规律

比如今天这个
URL中的参数start在变
每次加20
limit20表示每次滑轮往下滑返回20条数据

你可以修改Limit值,比如200
那么一次返回200条数据
不能太大

from urllib.request import Request, urlopen
from fake_useragent import UserAgent

base_url = “https://movie.douban.com/j/chart/top_list?type=11&interval_id=100%3A90&action=&start={}&limit=20”
i = 0
while True:
headers = {
“User-Agent”: UserAgent().chrome
}
url = base_url.format(i * 20)
request = Request(url, headers=headers)
response = urlopen(request)
info = response.read().decode()
print(info)
if info == “” or info is None:
break
i += 1

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章