1 問題解析
2 解題提示
- 谷歌xpath的添加
- xml的理解
- xpath的使用
3 評分標準
- 寫出正確的XPath語句10分
- 成功輸出課程分類 10分
- 代碼註釋,規範10分
4 要點解析
5 代碼實現
import lxml.etree as le
import urllib.request as ur
# 請求url
# request=ur.Request('https://edu.csdn.net')
# # 讀取頁面
# response=ur.urlopen(request).read()
# # 保存頁面
# with open('edu1.html','wb')as f:
# #寫入html文件字符串格式
# html=f.write(response)
# 讀取頁面,進行解析
with open('edu1.html', 'r', encoding='utf-8')as f:
# 讀取html文件字符串格式
html1 = f.read()
# html文件轉換成xpath格式,可以對這個對象進行索引
html_x = le.HTML(html1)
# 對一級標題進行索引
div_x_s = html_x.xpath('//div[@class="classify_cList"]')
data_s = []
for div_x in div_x_s:
# 一級標題
category1 = div_x.xpath('./h3/a/text()')
# 二級標題
category2_s = div_x.xpath('./div/span/a/text()')
# 將一級和二級標題加入空列表內
data_s.append(
{
'category1': category1,
'category2_s': category2_s
}
)
# 通過遍歷data將一級標題與二級標題輸出
print(data_s)
for data in data_s:
# 輸出一級標題
print(data.get('category1'))
print(' ', data.get('category2_s'))