【Python实战】Python采集文本信息

48 阅读2分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 4 月更文挑战」的第26天点击查看活动详情

前言

大家好,我们今天来爬取某网站的网页内容,并保存到本地。今天的内容比较简单,我们就简单介绍一下。

功能实现

话不多说,我们和平时一样,发送我们的请求,代码如下。

# 章节获取  
chapter_url = 'https://www.qb5.tw/book_116659/'  
  
chapter_html = requests.get(chapter_url).text  
  
info_list = re.findall('<dd><a href="(.*?)">(.*?)</a></dd>', chapter_html)

我们这里使用 requests 库获取了一个 chapter_url 的 HTML 页面,然后使用 re 库中的正则表达式提取出了每个章节的 info_list 信息。最后,通过遍历 info_list 中的每个信息,将其打印出来。这里就是每一章的id,便于我们后面网页的拼接,接下来,我们直接遍历这个网页即可。


for info in info_list:  
    url = 'https://www.qb5.tw/book_116659/' + info[0]  

    response = requests.get(url=url)  

    html_data = response.text

我们这里response.text 表示从响应数据中提取的 HTML 数据,即 html_data 变量所包含的内容。在提取响应数据之后,我们使用 response.text 获取到的 HTML 数据。也就是我们的文本信息,这样就可以把我们想要的文本内容获取下来,我们接下来要做的就是保存内容,我们看看怎么实现吧。

保存内容

text = info[1] + '\n\n' + text  
print(text)  
  
open('文本.txt', mode='a', encoding='utf-8').write(text)

我们这里将 info[1] 中的内容拼接到了 text 中,并在末尾加了一个换行符,生成了新的 HTML 内容。然后,代码使用 open() 函数打开一个文件,并指定了文件名和写入模式。这个文件可以是一个普通文本文件,也可以是一个文件夹,根据需要进行修改。在这里,我们使用 mode='a' 指定了追加模式,encoding='utf-8' 指定了文件编码为 UTF-8。最后,代码使用 write() 函数将 text 写入文件中。这样,我们就实现了这个功能。是不是很简单。

总结

今天我们演示了如何爬取某网站的网页内容,并将其保存到本地。我们使用 requests 库发送请求,提取 HTML 页面内容,并使用正则表达式从中提取 info_list 信息。接着,通过遍历 info_list 中的每个信息,将其打印出来。最后,我们将生成的 HTML 内容保存到本地文件中。