国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Python 網(wǎng)絡爬蟲 數(shù)據(jù)的存儲(一):TXT 文本文件存儲:

這篇具有很好參考價值的文章主要介紹了Python 網(wǎng)絡爬蟲 數(shù)據(jù)的存儲(一):TXT 文本文件存儲:。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

提取到數(shù)據(jù)后, 接下來就是存儲數(shù)據(jù)了, 數(shù)據(jù)的存儲形式多種多樣, 其中最簡單的一種就是將數(shù)據(jù)直接保存為文本文件, 例如:txt,? json, csv 等, 還可以將數(shù)據(jù)保存到數(shù)據(jù)庫中, 如關系型數(shù)據(jù)庫 MySQL, 非關系型數(shù)據(jù)庫 MongoDB, Redis等, 除了這兩種, 也可以直接把數(shù)據(jù)存儲到一些搜索引擎,例如 Elasticsearch 中, 以便檢索和查看

txt 文本文件存儲:

將數(shù)據(jù)保存為 txt 文本的操作非常簡單, 而且txt 文本幾乎兼容任何平臺, 但是這也有個缺點, 就是不利于檢索, 所以如果對檢索和數(shù)據(jù)結(jié)構的要求不高,追求方便第一的話,就可以采用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庫提取網(wǎng)站首頁的HTML代碼, 然后利用 pyquery解析庫將電影的名稱,類別,上映時間,評分信息提取出來。

我們可以利用python提供的open方法, 打開一個文本文件,獲取一個文件操作對象, 這里賦值為file,? 每提取一部分信息, 就利用file 對象的write方法 將這部分信息寫入文件,全部提取完畢后, 調(diào)用close 方法將 file 對象關閉, 運行程序后,我們會發(fā)現(xiàn)生成了一個 movies.txt 的文件

文本內(nèi)容的存儲最重要的就是 open, write, close 這三個方法 的用法

打開方式:

在上面的實例中,open方法的第二個參數(shù)設置成了w,? 這樣在每次寫入文本時都會清空源文件, 然后將新的內(nèi)容寫入文件, w 只是文件打開方式的一種, 下面簡要介紹一下其它幾種:

r: 以只讀的方式打開一個文件, 意思是只能讀取文件內(nèi)容, 不能吸入, 這也是默認模式

rb:以二進制只讀方式打開一個文件, 通常用于打開二進制文件,例如音頻,圖片,視頻等

r+:以讀寫的方式打開一個文件,既可以讀文件,也可以寫文件,

rb+: 以讀寫的方式打開一個二進制文件,既可以讀,也可以寫文件,只是讀寫的方式都是二進制

w:以寫入方式打開一個文件, 如果該文件已存在,則將其覆蓋, 如果該文件不存在, 則創(chuàng)建

wb:以二進制寫入方式打開一個文件, 如果該文件已存在,則覆蓋, 如果該文件不存在,則創(chuàng)建

w+:以讀寫方式打開一個文件,如果該文件已存在,則覆蓋,如果該文件不存在,則創(chuàng)建

wb+:以二進制讀寫格式打開一個文件, 如果該文件已存在,則覆蓋,不存在, 則創(chuàng)建

a:以追加方式打開一個文件,如果該文件已存在,則文件指針將會放在文件結(jié)尾, 也就是說, 新的內(nèi)容將會被寫到已有內(nèi)容之后, 如果該文件不存在,則創(chuàng)建新文件來寫入

ab:以二進制追加方式打開一個文件,如果該文件已存在,則文件指針將會放在文件結(jié)尾,也就是說,新的內(nèi)容會被寫到已有內(nèi)容之后, 如果該文件不存在,則創(chuàng)建新文件來寫入

a+:以讀寫方式打開一個文件,如果該文件已存在,則文件指針將會放在文件結(jié)尾, 文件打開時會是追加模式,如果該文件不存在, 則創(chuàng)建新文件用于讀寫

ab+:以二進制追加方式打開一個文件, 如果該文件已存在,則文件指針將會放在文件結(jié)尾,如果該文件不存在,則創(chuàng)建新文件用于讀寫

簡化寫法:

使用 with as 語法, 當with可控制塊結(jié)束時, 文件會自動關閉,這樣就不用調(diào)用close 方法了文章來源地址http://www.zghlxwxcb.cn/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 網(wǎng)絡爬蟲 數(shù)據(jù)的存儲(一):TXT 文本文件存儲:的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • Python讀取指定的TXT文本文件并從中提取指定數(shù)據(jù)的方法

    Python讀取指定的TXT文本文件并從中提取指定數(shù)據(jù)的方法

    ??本文介紹基于 Python 語言,遍歷文件夾并從中找到文件名稱符合我們需求的多個 .txt 格式文本文件,并從上述 每一個文本文件 中,找到 我們需要的指定數(shù)據(jù) ,最后得到 所有文本文件中 我們 需要的數(shù)據(jù)的合集 的方法。 ??首先,我們來明確一下本文的具體需求?,F(xiàn)有

    2024年02月14日
    瀏覽(96)
  • python中讀取文本文件txt

    python中讀取文本文件txt

    文件創(chuàng)建 如果文件不存在就是創(chuàng)建,如果文件存在就是打開操作 文件對象創(chuàng)建 文件讀 以下的函數(shù)都是文件對象的成員函數(shù) read() 一次性讀取文件的所有內(nèi)容放在一個大字符串中,即存在內(nèi)存中 readline() 逐行讀取文本,結(jié)果是一個list readlines() 一次性讀取文本的所有內(nèi)容,結(jié)

    2024年02月05日
    瀏覽(89)
  • 〖Python網(wǎng)絡爬蟲實戰(zhàn)?〗- 數(shù)據(jù)存儲之數(shù)據(jù)庫詳解

    訂閱:新手可以訂閱我的其他專欄。免費階段訂閱量1000+ ????????????????python項目實戰(zhàn) ???????????????? Python編程基礎教程系列(零基礎小白搬磚逆襲) 說明:本專欄持續(xù)更新中,目前專欄免費訂閱,在轉(zhuǎn)為付費專欄前訂閱本專欄的,可以免費訂閱付費專欄,

    2024年02月06日
    瀏覽(54)
  • 〖Python網(wǎng)絡爬蟲實戰(zhàn)?〗- 數(shù)據(jù)存儲之JSON操作

    訂閱:新手可以訂閱我的其他專欄。免費階段訂閱量1000+? ????????????????python項目實戰(zhàn) ???????????????? Python編程基礎教程系列(零基礎小白搬磚逆襲) 說明:本專欄持續(xù)更新中,目前專欄免費訂閱,在轉(zhuǎn)為付費專欄前訂閱本專欄的,可以免費訂閱付費專欄,

    2024年02月02日
    瀏覽(56)
  • 〖Python網(wǎng)絡爬蟲實戰(zhàn)?〗- 數(shù)據(jù)存儲之CSV操作實戰(zhàn)

    訂閱:新手可以訂閱我的其他專欄。免費階段訂閱量1000+ ????????????????python項目實戰(zhàn) ???????????????? Python編程基礎教程系列(零基礎小白搬磚逆襲) 說明:本專欄持續(xù)更新中,目前專欄免費訂閱,在轉(zhuǎn)為付費專欄前訂閱本專欄的,可以免費訂閱付費專欄,

    2024年02月01日
    瀏覽(52)
  • Python爬蟲數(shù)據(jù)存哪里|數(shù)據(jù)存儲到文件的幾種方式

    Python爬蟲數(shù)據(jù)存哪里|數(shù)據(jù)存儲到文件的幾種方式

    前言 大家早好、午好、晚好吖 ? ~歡迎光臨本文章 爬蟲請求解析后的數(shù)據(jù),需要保存下來,才能進行下一步的處理,一般保存數(shù)據(jù)的方式有如下幾種: 文件:txt、csv、excel、json等,保存數(shù)據(jù)量小。 關系型數(shù)據(jù)庫:mysql、oracle等,保存數(shù)據(jù)量大。 非關系型數(shù)據(jù)庫:Mongodb、R

    2024年02月09日
    瀏覽(23)
  • Python讀取txt文本數(shù)據(jù),寫進excel中

    Python讀取txt文本數(shù)據(jù),寫進excel中

    因為項目需要,需要統(tǒng)計訓練的loss和acc,寫進excel中,用手統(tǒng)計太累了。 方法:讀取文檔后,采用split分割出數(shù)據(jù),然后用列表保存,再將列表內(nèi)容寫進excel中。 txt文本內(nèi)容如下所示: 直接上代碼,代碼的value_title 需要自己手動更改: ?最后生成的結(jié)果,很完美。 ?

    2024年01月22日
    瀏覽(23)
  • Python - 讀取pdf、word、excel、ppt、csv、txt文件提取所有文本

    本文對使用python讀取pdf、word、excel、ppt、csv、txt等常用文件,并提取所有文本的方法進行分享和使用總結(jié)。 可以讀取不同文件的庫和方法當然不止下面分享的這些,本文的代碼主要目標都是:方便提取文件中所有文本的實現(xiàn)方式。 這些庫的更多使用方法,請到官方文檔中查

    2024年02月13日
    瀏覽(640)
  • python之文件操作、對.txt文本文件的操作(讀、寫、修改、復制、合并)、對json文本文件的操作、json字符串與字典的相互轉(zhuǎn)換。

    python之文件操作、對.txt文本文件的操作(讀、寫、修改、復制、合并)、對json文本文件的操作、json字符串與字典的相互轉(zhuǎn)換。

    注意:本篇所講的文件操作,都是對后綴為.txt、.json文件進行的操作。 1、json其實就是一個 文件的格式 ,像.txt一樣,json也是一個 純文本文件 。 與.txt不同的是, json常用來存放有鍵值對的數(shù)據(jù),寫法上像python中的字典一樣, 但與字典不同的是 ,字典是一個數(shù)據(jù)類型,且

    2024年02月16日
    瀏覽(24)
  • Python網(wǎng)絡爬蟲逆向分析爬取動態(tài)網(wǎng)頁、使用Selenium庫爬取動態(tài)網(wǎng)頁、?編輯將數(shù)據(jù)存儲入MongoDB數(shù)據(jù)庫

    Python網(wǎng)絡爬蟲逆向分析爬取動態(tài)網(wǎng)頁、使用Selenium庫爬取動態(tài)網(wǎng)頁、?編輯將數(shù)據(jù)存儲入MongoDB數(shù)據(jù)庫

    目錄 逆向分析爬取動態(tài)網(wǎng)頁 了解靜態(tài)網(wǎng)頁和動態(tài)網(wǎng)頁區(qū)別 1.判斷靜態(tài)網(wǎng)頁 ?2.判斷動態(tài)網(wǎng)頁 ?逆向分析爬取動態(tài)網(wǎng)頁 使用Selenium庫爬取動態(tài)網(wǎng)頁 安裝Selenium庫以及下載瀏覽器補丁 頁面等待 ?頁面操作 1.填充表單 2.執(zhí)行JavaScript 元素選取 Selenium庫的find_element的語法使用格式如下

    2024年02月15日
    瀏覽(65)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包