Python爬蟲 爬蟲獲取資料儲存到檔案

2021-10-24 13:58:41 字數 3248 閱讀 1878

本篇文章:繼續介紹另外兩種方式來實現python爬蟲獲取資料,並將python獲取的資料儲存到檔案中。

說明一下我的**環境是python3.7,本地環境是python2.x的可能需要改部分**,用python3.x環境的沒問題。

# -*- coding: utf-8 -*-import urllib.requestimport urlliburl = ''

# 2、建立request請求物件

request = urllib.request.request(url)

# 3、傳送請求獲取結果

response = urllib.request.urlopen(request)

htmldata = response.read()

# 4、設定編碼方式

htmldata = htmldata.decode('utf-8')

# 5、列印結果

print (htmldata)

# 6、列印爬去網頁的各類資訊

print ("response的型別:",type(response))

print ("請求的url:",response.geturl())

print ("響應的資訊:",response.info())

print ("狀態碼:",response.getcode())

# 7、爬取資料儲存到檔案

fileob = open('baidu.html','w',encoding='utf-8') #開啟乙個檔案,沒有就新建乙個

fileob.write(htmldata)

fileob.close()

在open()方法中如果沒有設定編碼encoding='utf-8',會報錯,原因如下:

在windows下面,新檔案的預設編碼是gbk,這樣的話,python直譯器會用gbk編碼去解析我們的網路資料流html,

然而html此時已經是decode過的unicode編碼,這樣的話就會導致解析不了,出現上述問題。

設定encoding='utf-8',開啟檔案時就按照utf-8格式編碼,則順利執行。

部分截圖如下:擷取的是第六步中的網頁各類資訊,第五步列印的資料過多,也已經儲存到檔案baidu.html中了,所以沒有擷取。

下圖是執行程式之後在本地生成的baidu.html檔案

開啟此baidu.html檔案結果如下圖所示:

**如下:

# -*- coding: utf-8 -*-import urllib.request, http.cookiejarurl = ''# 2、建立cookie容器

# 3、建立1個opener

opener = urllib.request.build_opener(handle)

# 4、給urllib.request安裝opener

urllib.request.install_opener(opener)

# 5、使用帶有cookie的urllib.request訪問網頁,傳送請求返回結果

response = urllib.request.urlopen(url)

htmldata = response.read()

# 6、設定編碼方式

data = htmldata.decode("utf-8")

# 7、列印結果

print (data)

# 8、列印爬去網頁的各類資訊

print ("response的型別:",type(response))

print ("請求的url:",response.geturl())

print ("響應的資訊:",response.info())

print ("狀態碼:",response.getcode())

# 9、爬取資料儲存到檔案

fileob = open('baiducookie.html','w',encoding='utf-8') #開啟乙個檔案,沒有就新建乙個

fileob.write(data)

fileob.close()

為了區別第一種生成的檔案baidu.html,這裡我將第二種生成的檔案命名為baiducookie.html

這種方式結果和第一種一樣,只是**不同,所以下面不在贅述,結果見第一種即可。

Python爬蟲(二) 爬蟲獲取資料儲存到檔案

本篇文章 繼續介紹另外兩種方式來實現python爬蟲獲取資料,並將python獲取的資料儲存到檔案中。說明一下我的 環境是python3.7,本地環境是python2.x的可能需要改部分 用python3.x環境的沒問題。coding utf 8 import urllib.request impo...

Python 爬蟲(獲取小說)

以 筆趣閣 為例 需求 python3版本以上 安裝方法如下 先安裝python3 pip,然後檢查下版本,如果版本可以公升級,就 upgrade pip 一下,然後再安裝beautifulsoup4 sudo apt get install python3 pip pip3 version pip...

沃保網爬蟲(二) 爬蟲資料儲存MySQL 建表

沃保網爬的每乙個 人資料,最後以字典形式儲存 這樣的鍵值對結構,具體通過desc 表名 可以檢視表結構,我們建好表結構後,就可以通過按照字典的鍵值對儲存在表對應的字段中,紅框標出的是表結構的欄位名稱,下面我會講如何建立這個結構的表 照顧不懂mysql資料庫的同學,我會從連線資料庫,建立資料庫,建立表...