本篇文章:繼續介紹另外兩種方式來實現python爬蟲獲取資料,並將python獲取的資料儲存到檔案中。
說明一下我的**環境是python3.7,本地環境是python2.x的可能需要改部分**,用python3.x環境的沒問題。
# -*- coding: utf-8 -*-
import urllib.request
import urllib
url = ''
# 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檔案結果如下圖所示:
**如下:
# 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.requestimpor...
爬蟲二 Python爬蟲入門二
1.認識爬蟲 1.1 什麼是爬蟲 爬蟲 一段自動抓取網際網路資訊的程式,從網際網路上抓取對於我們有價值的資訊。1.2 python的爬蟲架構 網頁解析器 將乙個網頁字串進行解析,可以按照我們的要求來提取出我們有用的資訊,也可以根據dom樹的解析方式來解析。網頁解析器有正規表示式 直觀,將網頁轉成字串...
Python爬蟲 二 爬蟲原理
爬蟲就是請求 並提取資料的自動化程式。其中請求,提取,自動化是爬蟲的關鍵!下面我們分析爬蟲的基本流程 發起請求 通過http庫向目標站點發起請求,也就是傳送乙個request,請求可以包含額外的header等資訊,等待伺服器響應 獲取響應內容解析內容 得到的內容可能是html,可以用正規表示式,頁面...