py網頁 urlopen的補充,完美

2022-05-10 22:17:59 字數 3427 閱讀 3647

urlopen(),是基於 python 的 open() 方法的。下面是主要說明:

1

urllib.urlopen('**')

示例程式:

1

importurllib

2

=urllib.urlopen('file:f:\pythontest\nowamagic.py')

3

=f.read()

4

printa

如果傳入的引數正確,比如該**可以訪問,沒有特殊情況(比如需要**,被牆等),那麼將返回乙個類似於檔案物件的物件。即上面**中的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

importurllib

2

=

3

=urllib.urlopen('http://www.需要**才能訪問的**.com/',proxies=proxies)

4

=filehandle.read()

5

printa

以上是最基本**,即**訪問到該**,並且能夠獲得該**的內容。但是如果遇到需要登入,或者需要cookie等的**呢?

檢視urllib的原始碼:

01

defurlopen(url, data=none, proxies=none):

02

"""urlopen(url [, data]) -> open file-like object"""

03

global_urlopener

04

ifisnotnone:

05

=fancyurlopener(proxies=proxies)

06

elifnot_urlopener:

07

=fancyurlopener()

08

=opener

09

else:

10

=_urlopener

11

ifisnone:

12

returnopener.open(url)

13

else:

14

returnopener.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 硬插補...