一、设计目的
使用Python语言,抓取古诗文网
古诗内容:
👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “ 古诗文 ” 获取。👈👈👈
抓取内容如下:
👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “ 古诗文 ” 获取。👈👈👈
二、代码分析
爬取古诗文网站上许渊冲的诗文,并将其标题、作者、地点和内容写入到一个名为 “poem20.txt” 的文本文件中。具体分析如下:
1.引入所需的模块:
requests
:用于发送 HTTP 请求。etree
:lxml 库的一部分,用于解析 HTML 文档。
# 请求头如下 header = { "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36" }
2.循环爬取数据:
- 使用
for
循环迭代 1 到 5,以获取多个页面的数据。 - 构建每个页面的 URL,其中作者参数是许渊冲。
- 使用
requests.get()
方法发送 GET 请求,获取页面的 HTML 内容。
3.解析 HTML 内容:
- 使用
etree.HTML()
方法将 HTML 内容解析为 Element 对象。
👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “ 古诗文 ” 获取。👈👈👈
4.提取诗文信息:
- 使用 XPath 表达式从页面中提取标题、作者、地点和内容。
- 通过循环,逐个提取每篇诗文的信息。
5.写入文本文件:
- 将提取的标题、作者、地点和内容写入到名为 “poem20.txt” 的文本文件中。
- 使用
with open()
语句打开文件,以追加模式(‘a+’)写入内容。 - 将标题、作者和地点写入一行,将内容写入下一行,以便在文件中呈现清晰。
with open('poem20.txt', 'a+', encoding='utf-8') as f: f.write(title + '\n') f.write(author + palce) f.write(text) f.write('\n')
6.异常处理:
- 在各个可能出现异常的代码块中添加了
try-except
语句,以处理可能的异常情况。
爬取结果如下:
👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “ 古诗文 ” 获取。👈👈👈