- 抓取动态网页 网页分为动态和静态
- 静态页面:
非结构化数据:HTML
处理方式:正则表达式,xpath, beautifulsoup4
静态页面中的数据都包含在网页的HTML中(一般都是get请求)
所以可以直接在网页的HTML中提取数据
关键词一般都以查询字符串的方式拼接在URL中
分析URL的变化可以进行多页爬取
- 动态页面
结构化数据:json,xml等
处理方式:直接转化为python类型
动态页面和静态页面最主要的区别就是当数据刷新的时候用了ajax技术,刷新时从数据库查询数据并重新渲染到前端页面
数据都存储在json中,爬取HTML是获取不到数据的
json数据提取技术(jsonpath)
动态页面都需要动态抓包来获取response中的json数据
刷新页面,打开开发者模式,点击Network,在点击XHR,找到获取json数据的URL
.json有4个方法(json.loads(), json.dumps())括号中接收字符串 (json.load(), json.dumps())括号中接收的是文件
jsonpath的语法与xpath的语法很相似
$: 根节点 . : 下一级节点 通常用法: $…节点名
jsonpath中接收的参数必须是python类型的
例如: result_list = jsonpath(python_dict,"$…result")
可以在发送请求时使用.json()的方法获取python数据
本文来自转载
转载 地址
res = requests.get(url)
json = res.json()