一、作業內容
- 學習 XPath 語法。
- 安裝 lxml 模塊。
- 使用 requests 和 lxml 里的 etree 類對上節課簡書首頁 HTML 源代碼轉換為 selector 對象,解析輸出簡書首頁的標題。
1. 學習 xpath 語法。
2. 安裝 lxml 模塊。
以管理員的身份運行命令行,在命令行中輸入pip install lxml
,等一會便會自動裝好。
3. 輸出簡書的標題
使用 requests 和 lxml 里的 etree 類對上節課簡書首頁 HTML 源代碼轉換為selector 對象,解析輸出簡書首頁的標題。
# 導入 requests 模塊
# 導入 lxml.etree
import requests
from lxml import etree
# 使用 get()方法獲取簡書首頁源代碼,并將值賦予變量 r
r = requests.get("http://www.lxweimin.com/").text
# etree.HTML 將變量 r 的字符串類型轉換為 selector 對象,并賦值變量 html
html = etree.HTML(r)
# 用 XPath 提取文本,并放入一個列表中,把它封裝成一個函數
build_text_list = etree.XPath('//a[@class="title"]/text()')
# 調用函數,并將值賦予變量 titles
titles = build_text_list(html)
# 使用 for 循環,打印
for i in range(len(titles)):
print("第 %d 篇文章的標題是:" % (i+1), titles[i])
運行結果如下:
"C:\Program Files\Python36\python.exe" E:/python3_project/ex_requests_homework2.py
第 1 篇文章的標題是: 有了框架思維,就再也不用擔心碎片學習了
第 2 篇文章的標題是: 父母尚在茍且,我就不配追求詩和遠方嗎?
第 3 篇文章的標題是: 中戲教師怒罵吳京:你就是個心理變態!
第 4 篇文章的標題是: 小童話|偷書的熊
第 5 篇文章的標題是: 宋朝進行時——寫好看的歷史(0036)
第 6 篇文章的標題是: 簡書對話創作大賽丨你還未來,我仍在等
第 7 篇文章的標題是: 七夕聯合征文丨這里有簡書欠你的一個對象待領取
第 8 篇文章的標題是: 后來看你戀愛才知道,我從來沒有被你愛過
第 9 篇文章的標題是: 收養個女兒給親兒子摸,這是個屁文化
第 10 篇文章的標題是: 請深情凝視這「二十二」道滄桑
第 11 篇文章的標題是: 那些整天想著兼職賺錢的人最后都怎么樣了?
第 12 篇文章的標題是: 有沒有錢,都可以活得很貴
第 13 篇文章的標題是: 《二十二》:正義不會缺席,也許她們等不到了
第 14 篇文章的標題是: 【對話創作大賽】一億六千萬
第 15 篇文章的標題是: 25歲,因為沒談過戀愛,我被人狠狠地罵過
第 16 篇文章的標題是: 我今年29歲,果斷辭職選擇再次做個北漂
第 17 篇文章的標題是: 她們在等公道,日本政府卻在等她們死去
第 18 篇文章的標題是: 二十年后,他被母親和妹妹親手殺死(提示:18歲以下禁閱)
第 19 篇文章的標題是: 種草│讓人感到相見恨晚的零食清單(二)
第 20 篇文章的標題是: 后人類世界的最終皈依
Process finished with exit code 0