1.例項化乙個etree的物件,且需要將被解析的頁面原始碼資料載入到該物件中。
2.呼叫etree物件中的xpath方法結合著xpath表示式實現標籤的定位和內容的捕獲。pip install lxml1.將本地的html文件中的原始碼資料載入etree物件中:
etree.parse(filepath)
etree.html(page_text)/:表示的是從根節點開始定位,表示的是乙個層級。
//:表示的是多個層級,可以表示從任意位置開始定位。
屬性定位://div[@class=『song』]
索引定位://div[@class=「song」]/p[3] 這裡的索引是從1開始。
取文字:
/text() 獲取的是標籤中直系的文字內容
//text() 獲取的是標籤中非直系的文字內容(所有文字內容)
取屬性:
//div[@class=『song』]/img/@src
import requests
from lxml import etree
url =
''headers =
page_text = requests.get(url=url, headers=headers)
.text
# print(page_text)
tree = etree.html(page_text)
li_list = tree.xpath(
'//ul[@class="house-list-wrap"]/li'
)fp =
open
('58.txt'
,'w'
, encoding=
'utf-8'
)for li in li_list:
title = li.xpath(
'./div[2]/h2/a/text()')[
0]href = li.xpath(
'./div[2]/h2/a/@href')[
0]price_sum = li.xpath(
'./div[3]/p[@class="sum"]//text()')[
0]price_unit = li.xpath(
'./div[3]/p[@class="unit"]//text()')[
0]# 將結果寫入到txt文件
fp.write(
'\r'
+'房屋介紹:'
+title+
'\n'
++href+
'\n'
+'房屋單價:'
+price_unit+
'\n'
+'房屋總價:'
+price_sum+
'萬'+
'\n'
)print
('爬取結束'
)
import requests
from lxml import etree
import os
headers =
# 實現分頁操作
for page in
range(2
,4):
page =
str(page)
url =
''+'index_'
+page+
'.html'
# print(url)
# 解析資料
page_text = requests.get(url=url, headers=headers)
.text
tree = etree.html(page_text)
li_list = tree.xpath(
'//ul[@class="clearfix"]/li'
)# 建立儲存路徑
# 亂碼處理
img_name = img_name.encode(
'iso-8859-1'
).decode(
'gbk'
)# print(img_name,img_src)
# 持久化儲存
img_data = requests.get(url=img_src, headers=headers)
.content
img_path =
'piclibs/'
+ img_name
with
open
(img_path,
'wb'
)as fp:
fp.write(img_data)
print
(img_name,
)
python爬蟲XPath學習
xpath簡介和基本使用 1.前言 之前爬蟲的時候沒有用過xpath,就是沒用過lxml這個包,遇到json格式網頁我用的json.loads html格式用的beautifulsoup裡面有find和find all函式查詢標籤之類的。但是xpath在爬蟲裡面也算乙個比較重要的工具,當然要學習啦。...
爬蟲 xpath學習
xpath解析 最常用且最便捷高效的一種解析方式,具有通用性 xpath解析的原理 一 例項化乙個etree物件,且需要將被解析的頁面原始碼資料載入到該物件中 二 呼叫etree物件中的xpath方法結合著xpath表示式實現標籤定位和內容的捕獲 環境的安裝 pip install lxml 如何例...
爬蟲xpath學習
xpath是在xml文件中搜尋內容的一門語言 html是xml的子集 xml 1野花遍地 1.23 臭 腐周 強 周芷若周杰倫 蔡依林惹了 胖胖陳胖胖不陳 from lxml import etree tree etree.xml xml result tree.xpath book name 表示...