Python3中urllib使用介紹

2021-08-29 01:45:11 字數 2817 閱讀 7957

py2.x:

urllib庫

urllin2庫

py3.x:

urllib庫

變化:在pytho2.x中使用import urllib2——-對應的,在python3.x中會使用import urllib.request,urllib.error。

在pytho2.x中使用import urllib——-對應的,在python3.x中會使用import urllib.request,urllib.error,urllib.parse。

在pytho2.x中使用import urlparse——-對應的,在python3.x中會使用import urllib.parse。

在pytho2.x中使用import urlopen——-對應的,在python3.x中會使用import urllib.request.urlopen。

在pytho2.x中使用import urlencode——-對應的,在python3.x中會使用import urllib.parse.urlencode。

在pytho2.x中使用import urllib.quote——-對應的,在python3.x中會使用import urllib.request.quote。

在pytho2.x中使用cookielib.cookiejar——-對應的,在python3.x中會使用http.cookiejar。

在pytho2.x中使用urllib2.request——-對應的,在python3.x中會使用urllib.request.request。

快速爬取乙個網頁

import urllib.request

file=urllib.request.urlopen('')

data=file.read()    #讀取全部

dataline=file.readline()    #讀取一行內容

fhandle=open("./1.html","wb")    #將爬取的網頁儲存在本地

fhandle.write(data)

fhandle.close()

瀏覽器的模擬

應用場景:有些網頁為了防止別人惡意採集其資訊所以進行了一些反爬蟲的設定,而我們又想進行爬取。 

解決方法:設定一些headers資訊(user-agent),模擬成瀏覽器去訪問這些**。

**伺服器的設定

應用場景:使用同乙個ip去爬取同乙個**上的網頁,久了之後會被該**伺服器遮蔽。 

解決方法:使用**伺服器。 (使用**伺服器去爬取某個**的內容的時候,在對方的**上,顯示的不是我們真實的ip位址,而是**伺服器的ip位址)

cookie的使用

應用場景:爬取的網頁涉及登入資訊。訪問每乙個網際網路頁面,都是通過http協議進行的,而http協議是乙個無狀態協議,所謂的無狀態協議即無法維持會話之間的狀態。

#使用http.cookiejar.cookiejar()建立cookiejar物件

#使用httpcookieprocessor建立cookie處理器,並以其為引數構建opener物件

#將opener安裝為全域性

Python3中urllib的改變

python2中的urllib模組,在python3中被修改為 urllib.request extensible library for opening urls urllib.response response classes used by urllib urllib.parse parse ...

Python3中urllib使用介紹

urllin2庫 在pytho2.x中使用import urllib 對應的,在python3.x中會使用import urllib.request,urllib.error,urllib.parse。在pytho2.x中使用import urlparse 對應的,在python3.x中會使用imp...

Python3中urllib使用介紹

2017年08月19日 17 40 16 積微成著 閱讀數 52505 標籤 python urllib 更多個人分類 web spider py2.x py3.x 變化 import urllib.request file urllib.request.urlopen data file.read...