以盜墓筆記**閱讀網為例吧,獲取章節的資訊和鏈結,畢竟我高中時也是一顆稻公尺,看過第一本和第八本書,電視劇集電影也都看過,很喜歡張起靈和吳邪
一開始我並不知道這個**↓
這次我沒用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...