urlopen(),是基於 python 的 open() 方法的。下面是主要說明:
1
urllib.urlopen(
'**'
)
示例程式:
1
import
urllib
2
=
urllib.urlopen(
'file:f:\pythontest\nowamagic.py'
)
3
=
f.read()
4
print
a
如果傳入的引數正確,比如該**可以訪問,沒有特殊情況(比如需要**,被牆等),那麼將返回乙個類似於檔案物件的物件。即上面**中的f,f物件有的方法一些操作方法,使用dir(f):
1
[
'__doc__'
'__init__'
'__iter__'
'__module__'
'__repr__'
'close'
,
'fileno'
'fp'
'geturl'
'headers'
'info'
'next'
'read'
'readline'
,
'readlines'
'url'
]
使用read()方法會將所有內容讀取出來,並且同時f物件類似於先入先出的資料,在使用f.read()將得不到任何資料,也就是說,得到的資料在這個時候如果想在後面進行任何處理操作的話,需要另外定義乙個物件來進行儲存。如上例中的a。而info(),geturl()方法,也是基於f這個文件物件的,所以,使用
1
>>>f.geturl()
2
'f://pythontest'
接下來是urllib的**設定:
1
import
urllib
2
=
3
=
urllib.urlopen(
'http://www.需要**才能訪問的**.com/'
,proxies
=
proxies)
4
=
filehandle.read()
5
print
a
以上是最基本**,即**訪問到該**,並且能夠獲得該**的內容。但是如果遇到需要登入,或者需要cookie等的**呢?
檢視urllib的原始碼:
01
def
urlopen(url, data
=
none
, proxies
=
none
):
02
"""urlopen(url [, data]) -> open file-like object"""
03
global
_urlopener
04
if
is
not
none
:
05
=
fancyurlopener(proxies
=
proxies)
06
elif
not
_urlopener:
07
=
fancyurlopener()
08
=
opener
09
else
:
10
=
_urlopener
11
if
is
none
:
12
return
opener.
open
(url)
13
else
:
14
return
opener.
open
(url, data)
由上面urllib的urlopen的原始碼,可以看出,還可以傳入乙個data引數,data引數也應該是乙個字典,因為在使用瀏覽器向伺服器傳送資料的時候,我們傳送的就是字典型別的資料。
還有一點,就是**支援是 python 2.3 以後加入的
py 爬蟲入門 記 urlopen 函式
urlopen 函式。proxies filehandle urllib.urlopen some url,proxies proxies filehandle urllib.urlopen some url,proxies filehandle urllib.urlopen some url,pr...
Python 3 6 之 urlopen方法的學習
1.urlopen的使用原始碼 def urlopen url,data none,timeout socket.global default timeout,cafile none,capath none,cadefault false,context none 其中重要引數 data 請求中附加...
軟體插補跟硬體插補的區別
軟體插補跟硬體插補是數控加工中常用的插補方式.其中軟插補常用時間分割法,有個插補週期,然後計算出每個插補週期的脈衝數.硬插補常用逐點比較法,最小偏差法,dda法,其中運動ic晶元mcx314採用的是最小偏差法.軟體插補跟硬體插補的區別主要是精度跟調速的區別 1 軟插補計算簡單,速度調速好.2 硬插補...