風火程式設計 python爬蟲幾個xpath解析方法

2021-08-28 14:11:19 字數 1081 閱讀 4934

requests獲取的響應體

from lxml import etree

html = etree.html(response.text) # 二進位制型別用.content

result = html.xpath(「expression」),

返回list, 乙個用[0]

selenium獲取的響應體

result = response.xpath(「expression」).xtract(),

返回list, 乙個用extract_first()

一些特殊的解析

# 根據文字內容取標籤的下乙個弟標籤的文字

# 上乙個節點 preceding-sibling::a/ttext()

# 父節點 /parent::li/text()

# 祖先節點 /ancestor::*[2]/text()

# 模糊查詢

driver.find_elements_by_xpath("//span[contains(@class,'center_close')]")

# 將節點下的所有文字拼接成字串

string(node())

#取節點下的第乙個文字

string(node()/text())

解析式的或連線

html.xpath('//tr[@class="odd"] | //tr[@class="even"]')
或者

html.xpath('//tr[@class="even" or @class="odd"]')
不是

html.xpath('//tr[not(@class="even")]')
補全預設標籤

parser = etree.htmlparser(enconding='utf-8')

html = etree.html(text, parser=parser)

參考鏈結

風火程式設計 requests爬蟲的使用

import request request.get url url,headers from lxml import etree item html etree.html response.text title html.xpath h4 text if title item title titl...

風火程式設計 python發布celery非同步任務

1.建立celery應用from celery import celery name broker celery backend celery 定義celery任務 def celery job args,kwargs 定義非同步任務 return result 任務邏輯 3.發布celery任務c...

風火程式設計 python中的字典, 對無序的理解

字典是無序的,無序即不是序列,不能通過索引取值.但是鍵是有順序的.鍵的順序是根據加入字典的時序排列的.adict.keys 的型別是dice key,是雜湊形式存在的物件,不是序列,也不能通過索引取值,但可以轉成列表 元組 集合等序列.demot 1,2 11,22 111,222 def func...