Fork me on GitHub

Python_Spider_xpath

xpath 和 lxml

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

    • xpath helper插件:帮助我们从elements中定位数据
      1. / :表示从根节点开始 选择节点(标签)
      1. // :表示从任意节点开始
      1. @ :定位具体元素的位置
      • 例如://div[@class='feed-infinite-wrapper']/ur/li,表示为选择@class=’feed-infinite-wrapper’的div下的ur下的li。
      • 另外,a/@href:选择a的href的值
      1. 获取文本
      • a/text():获取a下的文本
      • a//text():获取a下的所有文本
    • 5.当前
      • ./a表示当前节点下的a
  • lxml

    • 安装 pip install lxml
    • 使用
      1
      2
      3
      4
      5
      6
      from lxml import etree
      #接收HTML字符串
      response = requests.get(url).content.decode("utf-8")
      element = etree.HTML("html字符串")
      #xpath提取数据
      element.xpath("")

    以下代码中,a, b, c是什么参数?

  • 1.>>> “{a} love {b}.{c}”.format(a=”I”, b=”FishC”, c=”com”)
  • 2.’I love FishC.com’
    关键字参数 3. 以下代码中,{0}, {1}, {2}是什么参数?
  • 1.>>> “{0} love {1}.{2}”.format(“I”, “FishC”, “com”)
  • 2.’I love FishC.com’

位置参数 4. 如果想要显示Pi = 3.14,format前边的字符串应该怎么填写呢?
‘{0}{1:.2f}’.format(‘Pi = ‘, 3.1415)

写爬虫的结论

  • 1.url

    • 知道url地址的规律和总页码数:构造url地址的列表
    • start_url (url地址有规律)
  • 2.发送请求,获取响应

    • requests
  • 3.提取数据
    • 返回json字符串:json模块
    • 返回html字符串:lxml模块配合xpath模块
  • 4.保存
喜欢的可以对我打赏了哟~