【Python爬蟲】-【第四周】02-作業

學習xpath語法

XPath 語法

XPath 使用路徑表達式來選取 XML 文檔中的節點或節點集。節點是通過沿著路徑 (path) 或者步 (steps) 來選取的。
XML 實例文檔

我們將在下面的例子中使用這個 XML 文檔。

<?xml version="1.0" encoding="UTF-8"?>
<bookstore>
<book>
<title lang="eng">Harry Potter</title>
<price>29.99</price>
</book>
<book>
<title lang="eng">Learning XML</title>
<price>39.95</price>
</book>
</bookstore>

選取節點

XPath 使用路徑表達式在 XML 文檔中選取節點。節點是通過沿著路徑或者 step 來選取的。 下面列出了最有用的路徑表達式:

節點

具體參考是老師給的網頁鏈接:

http://www.runoob.com/xpath/xpath-syntax.html

lxml里的etree類

來源 http://lxml.de/tutorial.html 作者: Stefan Behnel這個教學覆蓋lxml 處理的主要幾個方面,其中的一些功能也許能使你的碼農生涯好過一點。
完整的API 請看 http://lxml.de/api/index.html
通常像下面這樣導入 lxml.etree 模塊:

from lxml import etree
截圖省頁面

參考鏈接:
http://blog.csdn.net/u012063703/article/details/51754665

作業:輸出簡書首頁的標題

代碼:

import requests
from lxml import etree  #從進口Etree lxml

jiangshu_url = "http://www.lxweimin.com/"#定義變量,簡書的首頁鏈接
home_page_html = requests.get(jiangshu_url).content#還是定義變量,不過這個變量是獲取簡書首頁的請求頭的文字內容
html = etree.HTML(home_page_html)
titles = html.xpath('//a[@class="title"]/text()')#

for i in range(len(titles)):#這個是以前練習的for循環
    print("編號為 %d 的文章標題:" %(i+1),titles[i])

運行結果

"C:\Program Files\Python36\python.exe" "D:/小克學習/python/項目/week four/xpath.py"
編號為 1 的文章標題: 那些30歲還沒結婚的人,過著怎樣的生活?
編號為 2 的文章標題: 上那么多付費寫作課,不如讀讀這本書 
編號為 3 的文章標題: 從專科生到碩士研究生再到國外大學漢語教師的三年逆襲之路
編號為 4 的文章標題: 萬古人間林徽因
編號為 5 的文章標題: 別讓計劃毀了你!
編號為 6 的文章標題: 那些能夠長期堅持的人都有什么秘訣?
編號為 7 的文章標題: 沒有儀式感的生活,不要也罷!
編號為 8 的文章標題: 外籍男友說:中國女孩真好睡
編號為 9 的文章標題: 每天3分鐘 | 3周告別大肚腩,還你優雅帥氣的迷人身姿
編號為 10 的文章標題: 喜喪
編號為 11 的文章標題: 水果沒吃對,健身又白練
編號為 12 的文章標題: 一封不會寄出的情書
編號為 13 的文章標題: 老司機開車了,五本讓你臉紅心跳的經典情色書
編號為 14 的文章標題: 有一條公路,叫中國最美公路
編號為 15 的文章標題: 有一個三觀不正的舍友是什么感覺
編號為 16 的文章標題: 我就是那個一直單身,卻被誤以為有對象的人
編號為 17 的文章標題: 機動時間留給自己,未知收獲交給彈性
編號為 18 的文章標題: 成熟是:不輕易地把寂寞交給別人
編號為 19 的文章標題: 真實故事丨寫給遙遠的外公
編號為 20 的文章標題: 當懲罰超過了罪本身的惡,又該如何定罪

Process finished with exit code 0
總結:

開始陸續用到以前學的東西了,有時候打印不出來很苦惱,有時候會豁然開朗,但是更多的是新東西學習比較吃力。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容