【安全合规】python爬虫从0到1 -ajax的get请求

简介: 即异步的JavaScript和XML

ajax的get请求

下面让我们进阶get请求的另外的中方法!!!


(一)Ajax简介

Ajax,全称为Asynchronous JavaScript and XML,即异步的JavaScript和XML。它不是一门编程语言,而是利用JavaScript在保证页面不被刷新、页面链接不改变的情况下与服务器交换数据并更新部分网页的技术。

对于传统的网页,如果想更新其内容,那么必须要刷新整个页面,但有了Ajax,便可以在页面不被全部刷新的情况下更新其内容。在这个过程中,页面实际上是在后台与服务器进行了数据交互,获取到数据之后,再利用JavaScript改变网页,这样网页内容就会更新了。


(二)实战演练

找到数据之后,将数据下载下来,另外,需要注意的点是在写入文件时需要用到open方法,而open方法的编码为GBK,当我们保存的内容为汉字时,需要在open方法中加入encoding=“utf-8”,从而转换为utf-8的编码。

# 将数据保存到本地
# 由于open方法的编码为gbk,如果我们需要保存汉字则需要在open方法中指定编码格式:encoding=‘utf-8’
fp = open('豆瓣电影.json','w',encoding='utf-8')
fp.write(content)

扩展: open方法还有另外一种写法,作用与上述相同:

with open("doaban.json",'w',encoding='utf-8') as fp:
    fp.write(content)

实例:


import urllib.request


url = ‘https://movie.douban.com/j/search_subjects?type=movie&tag=%E7%A7%91%E5%B9%BB&sort=time&page_limit=30&page_start=0


headers = {undefined

‘User-Agent’: ‘Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.102 Safari/537.36’

}


#请求对象的定制

request = urllib.request.Request(url = url , headers = headers)


#模拟浏览器向服务器发送请求

response = urllib.request.urlopen(request)


#获取响应数据

content = response.read().decode(‘utf-8’)


#将数据保存到本地

#由于open方法的编码为gbk,如果我们需要保存汉字则需要在open方法中指定编码格式:encoding=‘utf-8’

fp = open(‘豆瓣电影.json’,‘w’,encoding=‘utf-8’)

fp.write(content)


#扩展另一种写法;

#with open(“doaban.json”,‘w’,encoding=‘utf-8’) as fp:

#fp.write(content)


print(“保存完毕”)


相关文章
|
4月前
|
存储 Web App开发 前端开发
Python + Requests库爬取动态Ajax分页数据
Python + Requests库爬取动态Ajax分页数据
|
7月前
|
数据采集 存储 开发者
如何动态调整Python爬虫的Request请求延迟
如何动态调整Python爬虫的Request请求延迟
284 13
|
2月前
|
数据采集 Web App开发 前端开发
处理动态Token:Python爬虫应对AJAX授权请求的策略
处理动态Token:Python爬虫应对AJAX授权请求的策略
|
2月前
|
数据采集 消息中间件 NoSQL
分布式爬虫的全局请求间隔协调与IP轮换策略
分布式爬虫的全局请求间隔协调与IP轮换策略
|
5月前
|
数据采集 Python
如何通过requests和time模块限制爬虫请求速率?
如何通过requests和time模块限制爬虫请求速率?
|
XML 前端开发 JavaScript
|
7月前
|
数据采集 Web App开发 文字识别
Python爬虫多次请求后被要求验证码的应对策略
Python爬虫多次请求后被要求验证码的应对策略
|
8月前
|
Web App开发 数据采集 前端开发
Python + Chrome 爬虫:如何抓取 AJAX 动态加载数据?
Python + Chrome 爬虫:如何抓取 AJAX 动态加载数据?
|
11月前
|
JSON 前端开发 JavaScript
Python中如何判断是否为AJAX请求
AJAX请求是Web开发中常见的异步数据交互方式,允许不重新加载页面即与服务器通信。在Python的Django和Flask框架中,判断AJAX请求可通过检查请求头中的`X-Requested-With`字段实现。Django提供`request.is_ajax()`方法,Flask则需手动检查该头部。本文详解这两种框架的实现方法,并附带代码示例,涵盖安全性、兼容性、调试及前端配合等内容,帮助开发者提升Web应用性能与用户体验。
196 0
|
前端开发 API 开发者
Python Web开发者必看!AJAX、Fetch API实战技巧,让前后端交互如丝般顺滑!
在Web开发中,前后端的高效交互是提升用户体验的关键。本文通过一个基于Flask框架的博客系统实战案例,详细介绍了如何使用AJAX和Fetch API实现不刷新页面查看评论的功能。从后端路由设置到前端请求处理,全面展示了这两种技术的应用技巧,帮助Python Web开发者提升项目质量和开发效率。
274 1

推荐镜像

更多
下一篇
oss云网关配置