python教程之TXT文本数据存储的处理操作
Posted zhi_neng
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python教程之TXT文本数据存储的处理操作相关的知识,希望对你有一定的参考价值。
将数据保存到TXT文本的操作非常简单,而且TXT文本几乎兼容任何平台,但是有一个缺点,就是不利于检索。所以如果对检索和数据结构要求不高,追求方便的话,可以采用TXT文本存储。本文中,我们就来看一下如何利用Python保存TXT文本文件。
1.设置目标
我们需要保存知乎上“发现”页面的“热门话题”部分,并将其问题和答案统一保存成文本形式。
2.具体的操作方法
我们先用requests将网页源代码获取下来,然后使用pyquery解析库解析,接下来将提取的标题、回答者、回答保存到文本,具体的代码如下:
import requests
from pyquery import PyQuery as pq
url='https://www.zhihu.com/explore'
headers = {
'User-Agent':'Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (Khtml, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1'
}
html = requests.get(url,headers=headers).text
doc = pq(html)
items = doc('.explore-tab .feed-item').items()
for item in items:
question = item.find('h2').text()
author = item.find('.author-link-line').text()
answer = pq(item.find('.content').html()).text()
file = open('explore.txt','a',encoding='utf-8')
file.write('\\n'.join([question,author,answer]))
file.write('\\n' + '=' * 50 + '\\n')
file.close()
这里主要是为了演示文件保存的方式,因此requests异常处理部分在此省略,首先我们用requests提取知乎的“发现”页面,然后将热门话题的问题、回答者、答案全部提取出来,然后利用Python提供的open()方法打开一个文本文件,获取一个文件操作对象,这里赋值为file,接着利用file对象的write()方法将提取的内容写入文件,最后调用close()方法将其关闭,这样抓取的内容即可成功写入文本之中了,运行程序我们会发现在本地生成一个explore.txt文件。
这样热门问答的内容就被保存成文本形式了。这里注意open()函数的第一个参数要保存的是目标文件名称,第二个参数是a,代表一追加的方式写入到文本。另外,指定了文件的编码为utf-8。最后,写入完成后,还需要调用close()方法来实现关闭文件对象。
3.简化写法
文件的写法其实有一种简写的方式,就是使用with as语句。在with控制块结束时,文件会自动关闭,所以就不用再调用close()方法了。这种保存方式可以简写如下:
with open('explore.txt','a',encoding='utf-8') as file:
file.write('\\n'.join([question,author,answer]))
file.write('\\n' + '=' * 50 + '\\n')
如果想保存是将原文清空,那么可以将第二个参数改写为w,代码如下:
with open('explore.txt','w',encoding='utf-8') as file:
file.write('\\n'.join([question,author,answer]))
file.write('\\n' + '=' * 50 + '\\n')
以上就是利用Python将结果保存为TXT文件的方法,这种方法简单易用,操作高效,是一种最基本的保存数据的方法。
以上是关于python教程之TXT文本数据存储的处理操作的主要内容,如果未能解决你的问题,请参考以下文章