import requests
from lxml import etree
url = ''
html = requests.get(url)
html = etree.html(html.text) #初始化生成乙個xpath解析物件
items = html.xpath('//div[contains(@class,"data")]/span//text()')
for i in items:
print(i)
下面是表示式的常用用法:
表示式描述
nodename
選取此節點的所有子節點
/從當前節點擊取直接子節點
//從當前節點擊取子孫節點
.選取當前節點
..選取當前節點的父節點
@選取屬性
*萬用字元,選擇所有元素節點與元素名
@*選取所有屬性
[@attrib]
選取具有給定屬性的所有元素
[@attrib='value']
選取給定屬性具有給定值的所有元素
[tag]
選取所有具有指定元素的直接子節點
[tag='text']
選取所有具有指定元素並且文字內容是text節點
html.xpath('//li') #獲取所有子孫節點的li節點
html.xpath('//li/a') #獲取所有子孫節點的li節點下的所有直接a節點
result=html.xpath('//li[@class="item"]') 匹配class="item"的li
html.xpath('//a[@href="tab"]/../@class') 獲取a的父節點的class值
html.xpath('//a[@href="tab"]/parent::*/@class')獲取a的父節點的class值
html.xpath('//li[@class="item"]/a/text()') #獲取a節點下的內容
html.xpath('//li[@class="item"]//text()') #獲取li下所有子孫節點的內容
html.xpath('//li/a/@href') #獲取a的href屬性
html.xpath('//li//@href') #獲取所有li子孫節點的href屬性
按熟悉選擇
html.xpath('//li[@class="aaa"]/a') 只能匹配class僅為'aaa'的節點
html.xpath('//li[contains(@class,"aaa")]/a') 匹配class有'aaa'的節點
#and or 的用法
html.xpath('//li[@class="aaa" and @name="fore"]/a/text()')
html.xpath('//li[contains(@class,"aaa") and @name="fore"]/a/text()')
#按順序選擇
html.xpath('//li[1]/a/text()') #獲取第乙個li下a的內容
html.xpath('//li[last()]/a/text()') #獲取最後乙個li下a的內容
html.xpath('//li[position()>2 and position()<4]/a/text()') #獲取大於2小於4的
html.xpath('//li[last()-2]/a/text()') #獲取倒數第三個
#xpath提供了很多節點擊擇方法,包括獲取子元素、兄弟元素、父元素、祖先元素等,示例如下:
html.xpath('//li[1]/ancestor::*') #獲取所有祖先節點
html.xpath('//li[1]/ancestor::div') #獲取div祖先節點
html.xpath('//li[1]/attribute::*') #獲取所有屬性值
html.xpath('//li[1]/child::*') #獲取所有直接子節點
html.xpath('//li[1]/descendant::a') #獲取所有子孫節點的a節點
html.xpath('//li[1]/following::*') #獲取當前子節之後的所有節點
html.xpath('//li[1]/following-sibling::*') #獲取當前節點的所有同級節點
內容參考部落格: Python 爬蟲中遇到的反爬蟲問題
源 一般會有下面幾種限制 1 一定時間內單個ip訪問次數,乙個正常使用者訪問 除非是隨意的點著玩,否則不會在一段持續時間內過快訪問乙個 持續時間也不會太長,我們可以採用大量不規則 ip形成乙個執行緒池,隨機從 池中選擇 模擬訪問。有兩種,透明 和匿名 2 一定時間內單個賬號訪問次數,如果乙個人一天2...
python 爬蟲中的extract
ul class list li 123 li li abc li ul 1xx.xpath ul class list li xx是html文件 xpath解析返回乙個解析器列表 2 xx.xpath ul class list li extract output 123 abc extract使...
python 爬蟲中的extract
1xx.xpath ul class list li xx是html文件 xpath解析返回乙個解析器列表 2xx.xpath ul class list li extract output 123 abc extract使提取內容轉換為unicode字串,返回資料型別為list 3xx.xpath...