python爬虫模块_python实现爬虫的模块总结
網絡爬蟲(又被稱為網頁蜘蛛,網絡機器人),是一種按照一定的規則,自動地抓取萬維網信息的程序或者腳本。其本質就是利用腳本發送請求,解析響應,然后提取有用信息,最后保存下來。
python由于語法簡單,可用的包/庫/模塊也多,即使是初學者也能夠快速實現簡單的網絡爬蟲,給人很大鼓舞和學下去的動力。今天,小編來總結一下關于網絡爬蟲的模塊(依據python2)。
一,標準庫中的urllib模塊
urllib.urlopen方法:傳入一個url鏈接,用于打開該鏈接。
urllib.urlencode方法:參數是詞典,它可以將key-value這樣的鍵值對轉換成我們想要的格式,將URL中的鍵值對以連接符&劃分
urllib.quote方法:只想對一個字符串進行urlencode轉換的時候
urllib.urlretrieve方法:傳入一個url鏈接,適用單純的只下載的功能
二,標準庫中的urllib2模塊
也是標準庫中用于訪問網絡的模塊,不過與上面的urllib模塊有區別:
urllib2.urlopen方法:可以接受一個Request對象或者url
urlencode,urllib2沒有urlencode方法
urllib2.Request(url[, data][, headers][, originreqhost][, unverifiable])類:是一個抽象的URL請求
urllib2.installopener(opener)和urllib2.buildopener([handler, ...]) 方法:這兩個方法一般是一起用的,installopener 實例化會得到OpenerDirector 對象用來賦予全局變量opener。如果想用這個opener來調用urlopen,那么就必須實例化得到OpenerDirector;這樣就可以簡單 的調用OpenerDirector.open()來代替urlopen()。build_opener實例化也會得到 OpenerDirector對象,其中參數handlers可以被BaseHandler或他的子類實例化。子類中可以通過以下實例化:ProxyHandler (這個用于代理,會經常用到), UnknownHandler, HTTPHandler, HTTPDefaultErrorHandler, HTTPRedirectHandler, FTPHandler, FileHandler, HTTPErrorProcessor。
三,第三方的requests模塊
它是用python語言基于urllib編寫的,采用的是Apache2 Licensed開源協議的HTTP庫,使用比標準庫的urllib模塊方便簡單。
requests.get(url):發送get請求
requests.post(url,data={'key':'value'}):發送post請求
requests.get(url).text:使用text響應內容,會自動推測響應的編碼 #post請求也一樣
requests.get(url).content:使用content響應內容,是以二進制響應內容 #post請求也一樣
requests.get(url).json():JSON 響應內容,會解析json數據 #post請求也一樣
requests.get(url).raw:使用raw響應內容,獲取來自服務器的原始套接字響應 #post請求也一樣
requests.get(url,headers=headers):定制請求頭,其中headers={'user-agent':'my-app/0.0.1'}
四,標準庫的httplib模塊
httplib實現了HTTP和HTTPS的客戶端協議,這個是底層的模塊,是urllib等模塊的基礎,一般比較少直接用到。
httplib.HTTPConnection(host[, port[, strict[, timeout]]])類:用于創建一個http類型的請求鏈接對象
conn.request(method, url[, body[, headers]])方法:用于發送請求,其中conn是HTTPConnection的實例
conn.getresponse()方法:用于獲取一個http響應對象,其中conn是HTTPConnection的實例
conn.close()方法:用于關閉指定的http連接,其中conn是HTTPConnection的實例
res.read([amt])方法:用于獲得http響應的內容部分,即網頁源碼,其中res是HTTPResponse的實列
總結
以上是生活随笔為你收集整理的python爬虫模块_python实现爬虫的模块总结的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: win10巨帧数据包在哪里设置_Win1
- 下一篇: python函数调用的例子_实例讲解Py