Spider Note3数据提取方法

个人笔记,无其他意图

数据提取方法

json

  • 数据交换格式,看起来像python类型(列表,字典)的字符串
  • 哪里会返回json数据
    • 浏览器切换到手机版
    • 抓包app
  • json.loads
    • 把json字符串转换成python类型
    • json.loads(json字符串)
  • json.dumps
    • 把python类型转化成json字符串
    • json.dumps(字典/列表...)
    • 如果要把python类型转化为json字符串写到本地
    •   with open("filename","w",encoding="utf-8") as f:
        		f.write(json.dumps(python类型变量,ensure_ascii=False, indent=2))
        # ensure_ascii=False:禁用ascii码,让中文显示成中文;
        # indent=2:换行缩进为2,即下一行在上一行的基础上空2格,起到美化的作用
      

xpath和lxml

  • xpath(从html中提取数据的语言)
    • xpath语法
    • xpath helper插件:帮助我们从elements中定位数据
    • 选择节点(标签)
    /html/head/meta	#能够选中html下的head下的所有meta标签
    //	#能够从任意节点开始选择
    //li	#当前页面上所有li标签
    /html/head/link	#head下的所有link标签
    #@符号的用途:选择具体某个元素
    //div[@class = 'feed-infinite-wrapper']/ul/li
    #选择class = 'feed-infinite-wrapper'的div下的ul下的li
    a/@href  #获取a的href的值
    #获取文本
    a/text()  #获取a下的文本
    a//text()	#获取a下的所有文本 
    ./a	#当前节点下的a标签
    
  • lxml
from lxml import etree
element = etree.HTML("html字符串")
element.xpath("...")

猜你喜欢

转载自blog.csdn.net/l_changyun/article/details/84799274
今日推荐