zoukankan      html  css  js  c++  java
  • 爬虫数据提取方法

    数据提取方法

    json

    • 数据交换格式,看起来像python中的(字典)的字符串

    • 使用之前进行导包处理  import json

    • 哪里会有json的数据

      • 浏览器切换到手机版
      • 抓包app
    • json.loads

      • 把json字符串转化为python类型
      • json.loads(json字符串)
    • json.dumps

      • 把python类型转为为json字符串
      • json.dumps({})
      • json.dumps(ret,ensure_ascii=False,indent=2)
        • ensure_ascii:让中文显示为中文
        • indent:能够让下一行在上一行的基础上空格

    xpath和lxml

    • xpath

      • 一门从html中提取数据的语言
    • xpath语法

      • xpath helper插件: 帮助我们从elements中定位数据
      • 选择select下面的复选框的如何跟选
        • //select/option[@selected]
      • 1.选择节点(标签)
        • /html/head/meta:能够选中html下的所有meta标签
      • 2.//: 能够从任意节点开始选择
        • //li:当前页面下的所以li标签
        • /html/head///link: head下的所有link标签
      • 3.@符号的用途
        • 选择具体的某一个元素: //div[@class="zhengwen]/ul/li
          • 选择class="zhengwen"div下的ul下的li
        • a/@href:选择a标签下的herf的值
      • 4.获取文本
        • /a/text():获取a标签下的文本
        • /a//text(): 获取a标签下的所以文本
      • 5.点前
        • ./a: 当前节点下的a标签
      • 6."string(.)"
        • 获取当前节点下的所有文本
    • lxml

      • 安装: pip install lxml
      • 使用
        from lxml import etree
        element = etree.HTML("html字符串")
        element.xpath("")
        

    其他知识

    • 列表推导式
      list_num = [x for x in range(5)]
      print(list_num)
      # [0,1,2,3,4]
      
    • 字典推导式
      dict_num = {x: x+10 for x in range(5)}
      print(dict_num)
      # {0: 10, 1: 11, 2: 12, 3: 13, 4: 14}
      
    • format:
      "{}.{}.{}".format(1,2,3)
      

    爬虫的基本

    • 1.url

      • 知道url地址的规律和总页码数: 构建url地址的列表
      • url_list
    • 2.发起请求,获取响应

      • requests
    • 3.提取数据

      • 返回json字符串: json模块
      • 返回的是html字符串: lxml配合xpath进行使用提取数据
    • 4.保存数据

  • 相关阅读:
    JavaScript学习总结【5】、JS DOM
    JavaScript学习总结【11】、JS 运动
    JavaScript学习总结【7】、JS RegExp
    JavaScript学习总结【1】、初识JS
    JavaScript学习总结【10】、DOM 事件
    直接选择排序及交换二个数据的实现
    快速排序
    Lucene.net搜索结果排序(单条件和多条件)
    冒泡排序
    直接插入排序的三种实现
  • 原文地址:https://www.cnblogs.com/liudemeng/p/10715075.html
Copyright © 2011-2022 走看看