一、作业内容
- 学习 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.jianshu.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