Python學習之爬蟲基礎

2021-09-11 15:57:36 字數 1494 閱讀 1853

第0步:

獲取資料:通過requests庫來獲取資料

requests.get()用法

import requests

#引入requests庫

res = requests.get('url')

#requests.get是在呼叫requests庫中的get()方法,它向伺服器傳送了乙個請求,括號裡的引數是你需要的資料所在的**,然後伺服器對請求作出了響應。

#我們把這個響應返回的結果賦值在變數res上。

res是乙個物件,response通常有四種屬性,

#發出請求,並把返回的結果放在變數res中

pic=res.content

#把reponse物件的內容以二進位制資料的形式返回

#新建了乙個檔案ppt.jpg,這裡的檔案沒加路徑,它會被儲存在程式執行的當前目錄下。

#內容需要以二進位制wb讀寫。

photo.write(pic)

#獲取pic的二進位制內容

photo.close()

#關閉檔案

例:

import requests

#引用requests庫

res = requests.get('')

novel=res.text

#把response物件的內容以字串的形式返回

k = open('《三國演義》.txt','a+')

#建立乙個名為《三國演義》的txt文件,指標放在檔案末尾,追加內容

k.write(novel)

#寫進檔案中

k.close()

#關閉文件

res.encoding能定義response物件的編碼型別

那在真實的情況中,我們該在什麼時候用res.encoding呢?

首先,目標資料本身是什麼編碼是未知的。用requests.get()傳送請求後,我們會取得乙個response物件,其中,requests庫會對資料的編碼型別做出自己的判斷。但是!這個判斷有可能準確,也可能不準確。

如果判斷準確的話,我們列印出來的response.text的內容就是正常的、沒有亂碼的,那就用不到res.encoding;如果判斷不準確,就會出現一堆亂碼,那我們就可以去檢視目標資料的編碼,然後再用res.encoding把編碼定義成和目標資料一致的型別即可。

總的來說,就是遇上文字的亂碼問題,才考慮用res.encoding.

Python爬蟲之Scrapy學習(基礎篇)

在爬蟲的路上,學習scrapy是乙個必不可少的環節。也許有好多朋友此時此刻也正在接觸並學習scrapy,那麼很好,我們一起學習。開始接觸scrapy的朋友可能會有些疑惑,畢竟是乙個框架,上來不知從何學起。從本篇起,博主將開啟scrapy學習的系列,分享如何快速入門scrapy並熟練使用它。本篇作為第...

python爬蟲之 入門基礎

可以參考我之前學習的時候 的一篇文章一次完整的http事務過程 超詳細 2.還需要了解一下http的請求方式 有興趣的同學可以去查一下http的八種請求方法,這裡呢主要說下get請求和post請求,這兩種在以後學習中會用到的比較多。get請求 get方法用於使用給定的uri從給定伺服器中檢索資訊,即...

Python爬蟲基礎之requestes模組

開始學習爬蟲,我們必須了解爬蟲的流程框架。在我看來爬蟲的流程大概就是三步,即不論我們爬取的是什麼資料,總是可以把爬蟲的流程歸納總結為這三步 1.指定 url,可以簡單的理解為指定要爬取的 2.傳送請求。requests 模組的請求一般為 get 和 post 3.將爬取的資料儲存 因為 reques...