將爬取的資料儲存為json檔案

2021-08-07 19:25:48 字數 1639 閱讀 5576

以盜墓筆記**閱讀網為例吧,獲取章節的資訊和鏈結,畢竟我高中時也是一顆稻公尺,看過第一本和第八本書,電視劇集電影也都看過,很喜歡張起靈和吳邪

一開始我並不知道這個**

這次我沒用python的urllib2庫,學了requests庫,就用了get函式,這個確實比之前的urllib/urllib2/cookielib庫簡潔方便。

我本以為這個**get的時候頂多加個headers就行了,結果還真有點麻煩... 

第一次進入這個**的時候,有個瀏覽器安全檢查,停留5秒,所以一開始就卡在這了,直接進不去,更別說爬人家的東西了。。。

之後在進入這個**就沒有那個檢查停留了,所以要加cookies,我用的firebug,cookies還是很好找的,隨便選了幾條,但太少可能不行

然後是中文顯示問題,用sys模組處理,再加上dump函式裡的ensure_ascii的引數設定,json檔案才得以顯示出中文

#!/usr/bin/env python  

#-*-coding:utf-8-*-

import requests, json

import sys

from bs4 import beautifulsoup

#處理編碼問題

reload(sys)

sys.setdefaultencoding("utf-8")

user_agent = 'mozilla/5.0 (x11; ubuntu; linux x86_64; rv:55.0) gecko/20100101 firefox/55.0' #使用者**

headers =

cookies = #**在電腦上留下的cookies

res = requests.get('', headers = headers, cookies = cookies)

soup = beautifulsoup(res.text)

content =

for mulu in soup.find_all(class_ = 'mulu'):

h2 = mulu.find('h2')

if h2:

title = h2.string

chapter =

for a in mulu.find_all('a'):

href = a.get('href')

name = a.get('title')

with open('daomubiji.json', 'wb') as fp: #將所得的資料儲存為json檔案

json.dump(content, fp = fp, ensure_ascii = false, indent = 4, sort_keys = true)

#dump函式有很多引數,這裡也用到了好幾個,第乙個是目標object,第二個是要寫入的檔案物件,第三個處理非ascii碼的字元

#第四個是縮排,格式化顯示,最後乙個是排序

儲存後的json檔案:

Python爬蟲之資料儲存為json檔案

例如爬取的資訊如下 infors 將上述資訊寫入到json檔案中,如下 import json json str json.dumps infors,ensure ascii false with open xinxi.json w encoding utf 8 as fp fp.write jso...

C 程式將物件儲存為json檔案

1 建立檔案 獲取當前程式所在路徑,並將要建立的檔案命名為info.json if file.exists fp 判斷是否已有相同檔案 2 序列化物件轉為json並寫入檔案 file.writealltext fp,jsonconvert.serializeobject obj 3 從檔案中反序列化...

將printf 顯示的大量資料,儲存為txt文件

由於c執行結果的時候,執行命令的顯示視窗不能顯示大量資料,所以,選擇將其儲存為txt文字格式,有多少,儲存多少。程式 正確 include stdio.h include int main int argc,const char argv int i fp fopen b.txt w if fp n...