Python 网络爬虫 数据的存储(一):TXT 文本文件存储:

这篇具有很好参考价值的文章主要介绍了Python 网络爬虫 数据的存储(一):TXT 文本文件存储:。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

提取到数据后, 接下来就是存储数据了, 数据的存储形式多种多样, 其中最简单的一种就是将数据直接保存为文本文件, 例如:txt,  json, csv 等, 还可以将数据保存到数据库中, 如关系型数据库 MySQL, 非关系型数据库 MongoDB, Redis等, 除了这两种, 也可以直接把数据存储到一些搜索引擎,例如 Elasticsearch 中, 以便检索和查看

txt 文本文件存储:

将数据保存为 txt 文本的操作非常简单, 而且txt 文本几乎兼容任何平台, 但是这也有个缺点, 就是不利于检索, 所以如果对检索和数据结构的要求不高,追求方便第一的话,就可以采用txt 文本存储

import requests
from pyquery import PyQuery as pq
import re

url = 'https://static1.scrape.center/'
html = requests.get(url).text
doc = pq(html)
items = doc('.el-card').items()

file = open('movies.txt', 'w', encoding='utf-8')
for item in items:
    # 名称
    name = item.find('a > h2').text()
    file.write(f'名称: {name}\n')
    # 类别
    categories = [item.text() for item in item.find('.categories button span').items()]
    file.write(f'类别: {categories}\n')
    # 上映时间
    published_at = item.find('.info:contains(上映)').text()
    published_at = re.search('(\d{4}-\d{2}-\d{2})', published_at).group(1) \
        if published_at and re.search('\d{4}-\d{2}-\d{2}', published_at) else None
    file.write(f'上映时间: {published_at}\n')
    # 评分
    score = item.find('p.score').text()
    file.write(f'评分: {score}\n')
    file.write(f'{"=" * 50}\n')
file.close()

这里的目的主要是演示文件的存储方式,因此省去了requests 异常处理部分, 首先,用requests库提取网站首页的HTML代码, 然后利用 pyquery解析库将电影的名称,类别,上映时间,评分信息提取出来。

我们可以利用python提供的open方法, 打开一个文本文件,获取一个文件操作对象, 这里赋值为file,  每提取一部分信息, 就利用file 对象的write方法 将这部分信息写入文件,全部提取完毕后, 调用close 方法将 file 对象关闭, 运行程序后,我们会发现生成了一个 movies.txt 的文件

文本内容的存储最重要的就是 open, write, close 这三个方法 的用法

打开方式:

在上面的实例中,open方法的第二个参数设置成了w,  这样在每次写入文本时都会清空源文件, 然后将新的内容写入文件, w 只是文件打开方式的一种, 下面简要介绍一下其它几种:

r: 以只读的方式打开一个文件, 意思是只能读取文件内容, 不能吸入, 这也是默认模式

rb:以二进制只读方式打开一个文件, 通常用于打开二进制文件,例如音频,图片,视频等

r+:以读写的方式打开一个文件,既可以读文件,也可以写文件,

rb+: 以读写的方式打开一个二进制文件,既可以读,也可以写文件,只是读写的方式都是二进制

w:以写入方式打开一个文件, 如果该文件已存在,则将其覆盖, 如果该文件不存在, 则创建

wb:以二进制写入方式打开一个文件, 如果该文件已存在,则覆盖, 如果该文件不存在,则创建

w+:以读写方式打开一个文件,如果该文件已存在,则覆盖,如果该文件不存在,则创建

wb+:以二进制读写格式打开一个文件, 如果该文件已存在,则覆盖,不存在, 则创建

a:以追加方式打开一个文件,如果该文件已存在,则文件指针将会放在文件结尾, 也就是说, 新的内容将会被写到已有内容之后, 如果该文件不存在,则创建新文件来写入

ab:以二进制追加方式打开一个文件,如果该文件已存在,则文件指针将会放在文件结尾,也就是说,新的内容会被写到已有内容之后, 如果该文件不存在,则创建新文件来写入

a+:以读写方式打开一个文件,如果该文件已存在,则文件指针将会放在文件结尾, 文件打开时会是追加模式,如果该文件不存在, 则创建新文件用于读写

ab+:以二进制追加方式打开一个文件, 如果该文件已存在,则文件指针将会放在文件结尾,如果该文件不存在,则创建新文件用于读写

简化写法:

使用 with as 语法, 当with可控制块结束时, 文件会自动关闭,这样就不用调用close 方法了文章来源地址https://www.toymoban.com/news/detail-774608.html

with open('movies.txt', 'w', encoding='utf-8'):
    file.write(f'名称: {name}\n')
    file.write(f'类别: {categories}\n')
    file.write(f'上映时间: {published_at}\n')
    file.write(f'评分: {score}\n')

到了这里,关于Python 网络爬虫 数据的存储(一):TXT 文本文件存储:的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Python读取指定的TXT文本文件并从中提取指定数据的方法

      本文介绍基于 Python 语言,遍历文件夹并从中找到文件名称符合我们需求的多个 .txt 格式文本文件,并从上述 每一个文本文件 中,找到 我们需要的指定数据 ,最后得到 所有文本文件中 我们 需要的数据的合集 的方法。   首先,我们来明确一下本文的具体需求。现有

    2024年02月14日
    浏览(49)
  • python中读取文本文件txt

    文件创建 如果文件不存在就是创建,如果文件存在就是打开操作 文件对象创建 文件读 以下的函数都是文件对象的成员函数 read() 一次性读取文件的所有内容放在一个大字符串中,即存在内存中 readline() 逐行读取文本,结果是一个list readlines() 一次性读取文本的所有内容,结

    2024年02月05日
    浏览(67)
  • 〖Python网络爬虫实战㉒〗- 数据存储之数据库详解

    订阅:新手可以订阅我的其他专栏。免费阶段订阅量1000+                 python项目实战                  Python编程基础教程系列(零基础小白搬砖逆袭) 说明:本专栏持续更新中,目前专栏免费订阅,在转为付费专栏前订阅本专栏的,可以免费订阅付费专栏,

    2024年02月06日
    浏览(48)
  • 〖Python网络爬虫实战㉑〗- 数据存储之JSON操作

    订阅:新手可以订阅我的其他专栏。免费阶段订阅量1000+                  python项目实战                  Python编程基础教程系列(零基础小白搬砖逆袭) 说明:本专栏持续更新中,目前专栏免费订阅,在转为付费专栏前订阅本专栏的,可以免费订阅付费专栏,

    2024年02月02日
    浏览(38)
  • 〖Python网络爬虫实战⑳〗- 数据存储之CSV操作实战

    订阅:新手可以订阅我的其他专栏。免费阶段订阅量1000+                 python项目实战                  Python编程基础教程系列(零基础小白搬砖逆袭) 说明:本专栏持续更新中,目前专栏免费订阅,在转为付费专栏前订阅本专栏的,可以免费订阅付费专栏,

    2024年02月01日
    浏览(43)
  • Python爬虫数据存哪里|数据存储到文件的几种方式

    前言 大家早好、午好、晚好吖 ❤ ~欢迎光临本文章 爬虫请求解析后的数据,需要保存下来,才能进行下一步的处理,一般保存数据的方式有如下几种: 文件:txt、csv、excel、json等,保存数据量小。 关系型数据库:mysql、oracle等,保存数据量大。 非关系型数据库:Mongodb、R

    2024年02月09日
    浏览(50)
  • Python读取txt文本数据,写进excel中

    因为项目需要,需要统计训练的loss和acc,写进excel中,用手统计太累了。 方法:读取文档后,采用split分割出数据,然后用列表保存,再将列表内容写进excel中。 txt文本内容如下所示: 直接上代码,代码的value_title 需要自己手动更改:  最后生成的结果,很完美。  

    2024年01月22日
    浏览(46)
  • Python - 读取pdf、word、excel、ppt、csv、txt文件提取所有文本

    本文对使用python读取pdf、word、excel、ppt、csv、txt等常用文件,并提取所有文本的方法进行分享和使用总结。 可以读取不同文件的库和方法当然不止下面分享的这些,本文的代码主要目标都是:方便提取文件中所有文本的实现方式。 这些库的更多使用方法,请到官方文档中查

    2024年02月13日
    浏览(102)
  • python之文件操作、对.txt文本文件的操作(读、写、修改、复制、合并)、对json文本文件的操作、json字符串与字典的相互转换。

    注意:本篇所讲的文件操作,都是对后缀为.txt、.json文件进行的操作。 1、json其实就是一个 文件的格式 ,像.txt一样,json也是一个 纯文本文件 。 与.txt不同的是, json常用来存放有键值对的数据,写法上像python中的字典一样, 但与字典不同的是 ,字典是一个数据类型,且

    2024年02月16日
    浏览(47)
  • Python网络爬虫逆向分析爬取动态网页、使用Selenium库爬取动态网页、​编辑将数据存储入MongoDB数据库

    目录 逆向分析爬取动态网页 了解静态网页和动态网页区别 1.判断静态网页  2.判断动态网页  逆向分析爬取动态网页 使用Selenium库爬取动态网页 安装Selenium库以及下载浏览器补丁 页面等待  页面操作 1.填充表单 2.执行JavaScript 元素选取 Selenium库的find_element的语法使用格式如下

    2024年02月15日
    浏览(109)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包