爬蟲之文字檔案儲存

2021-09-09 01:10:34 字數 1880 閱讀 7108

一 點睛

將資料儲存到txt文字的操作非常簡單,而且txt文字幾乎相容任何平台,但是這有個缺點,那就是不利於檢索。所以如果對檢索和資料結構要求不高,追求方便第一的話,可以採用txt文字儲存。

二 入門例項

1 **

import requests

from pyquery import pyquery as pq

# 需求:我們要儲存知乎上「發現」頁面的「熱門話題」部分,將其問題和答案統一儲存成文字形式。

url = ''

headers =

# 用requests將網頁源**獲取下來

html = requests.get(url, headers=headers).text

# 然後使用pyquery解析庫解析

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()

2 結果

3 說明

首先,用requests提取知乎的「發現」頁面,然後將熱門話題的問題、回答者、答案全文提取出來,然後利用python提供的open()方法開啟乙個文字檔案,獲取乙個檔案操作物件,這裡賦值為file,接著利用file物件的write()方法將提取的內容寫入檔案,最後呼叫close()方法將其關閉,這樣抓取的內容即可成功寫入文字中了。

這樣熱門問答的內容就被儲存成文字形式了。

這裡open()方法的第乙個引數即要儲存的目標檔名稱,第二個引數為a,代表以追加方式寫入到文字。另外,我們還指定了檔案的編碼為utf-8。最後,寫入完成後,還需要呼叫close()方法來關閉檔案物件。

三 開啟方式

四 簡化寫法

1 點睛

檔案寫入還有一種簡寫方法,那就是使用with as語法。在with控制塊結束時,檔案會自動關閉,所以就不需要再呼叫close()方法了。

2 舉例

with open('explore.txt', 'a', encoding='utf-8') as file:

file.write('\n'.join([question, author, answer]))

file.write('\n' + '=' * 50 + '\n')

3 將儲存原文清空寫法

with open('explore.txt', 'w', encoding='utf-8') as file:

file.write('\n'.join([question, author, answer]))

file.write('\n' + '=' * 50 + '\n')

Python之文字檔案解析

最近的工作主要是元件相容性測試,原有的框架有很多功能還不完善,需要補充!比如,需要將autoit指令碼的執行結果寫入到excel中,最後的解決方案是使用本地的log來解析這個結果!created on may 3,2013 author berlin class autoitresultparser...

讀取文字檔案

void ctestdlg onreadinfo cfile filewrite1 testwrite1.txt cfile modecreate cfile modewrite cfile filewrite2 testwrite2.txt cfile modecreate cfile modew...

寫文字檔案

textoper 文字檔案操作類 public class textoper 新建乙個檔案 public bool createfile string strpath,string strname else file.create strpath strname return true catch ...