xpath的用法(例項詳解)

2021-08-24 17:59:19 字數 1408 閱讀 4136

1、xpath基本語法:

article       選取所有article元素的所有子節點

/article 選取根元素article

article/a 選取所有屬於article的子元素的a元素

//div 選取所有div子元素(不論出現在文件任何地方)

article//div 選取所有屬於article元素的後代的div元素,不管它出現在article之下的任何位置

//@class 選取所有名為class的屬性

/article/div[1] 選取屬於article子元素的第乙個div元素

/article/div[last()] 選取屬於article子元素的最後乙個div元素

/article/div[last()-1] 選取屬於article子元素的倒數第二個div元素

//div[@lang] 選取所有擁有lang屬性的div元素

//div[@lang='eng'] 選取所有擁有lang屬性為eng的div元素

/div/* 選取屬於div元素的所有子節點

//* 選取所有元素

//div[@*] 選取所有帶屬性的title元素

/div/a | //div/p 選取所有div元素的a和p元素

//span | //ul 選取文件中的span和ul元素

article/div/p| //span 選取所有屬於article元素的div元素的p元素 以及文件中所有的span元素

2、在scrapy框架裡利用 xpath爬取此文章(的標題 及 建立時間

# -*- coding: utf-8 -*-

import scrapy

class jobbolespider(scrapy.spider):

name = 'jobbole'

allowed_domains = ['blog.jobbole.com']

start_urls = ['']

def parse(self, response):

title = response.xpath('//*[@id="post-114273"]/div[1]/h1/text()').extract()[0]

create_time = response.xpath('//*[@id="post-114273"]/div[2]/p/text()').extract()[0].strip().replace("·", "").strip()

pass # 拿到title 和 create_time之後,做你想做的處理

xpath用法詳解

選擇不包含class屬性的節點 result article.xpath span not class 選擇不包含class和id屬性的節點 result article.xpath span not class and not id 選擇不包含class expire 的span result a...

XPath 用法和例項

usage xpath usr bin env python coding utf 8 date 2017 09 24 20 51 15 author kangvcar kangvcar 126.com link version id 安裝 pip install lxml 路徑表示式 表示式 描述...

Xpath基本用法

my listr tree findnodes as string ul id brand li a class bd 可以利用正規表示式來過濾。程式設計中經常會用到xml,net framework提供了專門對xml進行處理的dll,裡面提供了很多對xml處理的方法,在這裡簡單介紹一下xpath的...