数据提取方法

##数据提取方法

##json
-数据交换格式,看起来像python类型(列表、字典)的字符串
-使用json之前需要导入(import json)

-哪里会返回json的数据
-浏览器切换成手机版
-抓包app

-json.loads(“json字符串”)
-把json字符串转化为python类型
-json.dumps
-把python类型转化成json字符串
-json.dumps({“a”:a})
-json.dumps(ret,ensure_ascii=False,indent=2)
-ensure_ascii:让中文显示成中文
-indent:能够让下一行在上一行的基础上空格(ident=2,表示空两行)

##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-ininite-wrapper’的div下的ul下的li
-‘a/@href’:选择a的href的值
4、获取文本
-‘/a/text()’:获取a下的文本
-’/a//text()’:获取a下的所有文本
5、当前
-‘./a’ 当前节点下的a标签

-lxml
-安装:pip install lxml
-使用
from lxml import etree
element = etree.HTML(‘html字符串’)
element.xpath("")
-format:字符串格式化的一种方式
“pthon{}学习”.format(1)
“pthon{}学习”.format([1,2,3])
“pthon{}学习”.format({1,2,3})
“pthon{}学习{}”.format(1,2)
###基础知识的学习
-列表推导式
-帮助我们快速生成包含一堆数据的列表
[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日”]
-字典推导式
-帮助我们快速生成包含一堆数据的字典
{i+10:i for i in range(10)} ----->{10:0,11:1,…19:9}
{“a{}”.format(i):10 for i in range(3)} ---->{“a0”:10,“a1”:10,“a2”:10}
-三元运算符
-if后面的条件成立,就把if前面的结果赋值给a,否则把else后面的结果复制给a
a=10 if 4>3 else 20 —>a=10
a=10 if 3>4 else 20 —>a=20

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值