json
- 数据交换格式,看起来像python类型(列表,字典)的字符串
- 使用json之前,需要导入
- json.loads
- 把json字符串转化为python类型
- Python
- json.loads(json字符串)
- Python
- 把json字符串转化为python类型
- 哪里会返回json的数据
- 浏览器切换到手机版
- 抓包app
- json.dumps
- 把Python类型转换为json字符串
- Python
- json.dumps({"a":"a","b":"2"})
- json.dumps(rets,ensure_ascii=False,indent=2)
- ensure_ascii :让中文显示成中文
- indent : 能够让下一行在上一行的基础上空格
- Python
- 把Python类型转换为json字符串
- 豆瓣电影爬虫案例
xpath和lxml
- xpath
- 一门从html中提取数据的语言
- xpath语法
- xpath helper插件:帮助我们从elements中定位数据
- 1.选择节点(标签)
- /html/head/meta :能够选中html下的head下的所有meta标签
- 2. // :能够从任意节点开始选择
- //li :当前页面上的所有li标签
- /html/head//link :head下的所有link标签
- 3. @符号的用途
- 选择具体某个元素 ://div[@class='feed-infinite-wrapper']/ul/li
- 选择class='feed-infinite-wrapper‘的div下的ul下的li
- a/@href :选择a的href的值
- 选择具体某个元素 ://div[@class='feed-infinite-wrapper']/ul/li
- 4.获取文本
- /a/text() :获取a下的文本
- /a//test() :获取a下的所有的文本
- 5.当前
- ./a :当前节点下的a标签
- lxml
- 安装:pip install lxml
- 使用
- Python
- from lxml import etree
- element = etree.HTML("html字符串")
- element.xpath("")
- Python
写爬虫的讨论
- 1.url
- 知道url地址的规律和总的页码数:构造url地址的列表
- start_url
- 2.发送请求,获取响应
- requests
- 3.提取数据
- 返回json字符串:json模块
- 返回的是html字符串:lxml模块配合xpath提取数据
- 4.保存
基础知识点的学习
- format:字符串格式化的一种方式
- Python
- "孤独{}键客".format(1)
- "孤独{}键客".format([1,2,3])
- "孤独{}键客".format({1,2,3})
- "孤独{}键客{}".format({1,2,4},[1,3,4])
- "孤独{}键客{}".format({1,2,3},1)
- Python
- 列表推导式
- 帮助我们快速的生成包含一堆数据的列表
- Python
- [i+10 for i in range(10)] --->[10,11,12,...19]
- ["10月{}日".format(i) for i in range(1,10)] ---> ["10月1日","10月2日",...,"10月9日"]
- 字典推导式
- 帮助我们快速的生成包含一堆数据的字典
- Python
- {i+10:for in range(10)} #--->(10:0,11:1,12:3....19:9)
- {“a{}”.format(i):10 for i in range(3)} #--->{"a0":10,"a1":10,"a2":10}
- Python
- 帮助我们快速的生成包含一堆数据的字典
- 三元运算符
- if后面的条件成立,就把if前面的结果复制给a,否则把else后面的结果复制给a
- Python
- a = 10 if 4>3 else 20 #a=10
- a = 10 if 4<3 else20 #a=20
- Python
- if后面的条件成立,就把if前面的结果复制给a,否则把else后面的结果复制给a