一、問題:
近期公司專案的需求是根據客戶提供的api,我們定時去獲取資料, 之前的方案是用php收集任務存入到redis佇列,然後在linux下做乙個常駐程序跑某乙個p程式設計客棧hp檔案, 該php檔案就乙個無限迴圈,判斷redis佇列,有就執行,沒有就break.
二、解決方法:
最近剛好學了一下python, python的urllib模組或許比php的curl更快,而且簡單. 貼一下**
複製** **如下:
發現第一次訪問所需要的時間為[finished in 3.0s]
而第二次訪問的時間為[finished in 0.2s]
可見python的urllib模組是加有快取的
urllib/2用法典型的例子
複製** **如下:
程式設計客棧import urllib2
import cookielib
import urllib
class hi_login:
def __init__(self):
cookie = cookielib.cookiejar()
self.cookie = urllib2.httpcookieprocessor(cookie) ##### 生成cookie ###
def login(self,user,pwd):
url=''
postdata=urllib.urlencode()
### proxy_support = urllib2.proxyhandler() 然後加入opener方法裡####
opener = urllib2.build_opener(self.cookie) ### 使用cookie ###
headers =
urllib2.install_opener(opener)
request = urllib2.request(url,urllib.urlencode(postdata),headers = headers)
urllib2.urlopen(request)
if __name__=='__main__':
pwd='123456'
程式設計客棧 user='xiaofu'
test=hi_login()
test.login(user,pwd)
假如訪問需要認證的頁面比如nagios監控頁面等,
複製** **如下:
返回結果200,否則就是401認證錯誤
本文標題: python中urllib模組用法例項詳解
本文位址:
Python中urllib模組的使用
建立乙個表示遠端url的類檔案物件,然後像本地檔案一樣操作這個類檔案物件來獲取遠端資料。引數url表示遠端資料的路徑,一般是 引數data表示以post方式提交到url的資料 玩過web的人應該知道提交資料的兩種方式 post與get。如果你不清楚,也不必太在意,一般情況下很少用到這個引數 引數pr...
Python核心模組 urllib模組
現在python基本入門了,現在開始要進軍如何寫爬蟲了!先把最基本的urllib模組弄懂吧。開啟乙個url的方法,返回乙個檔案物件,然後可以進行類似檔案物件的操作。本例試著開啟google import urllib f urllib.urlopen firstline f.readline 讀取h...
Python模組之urllib模組
py2.x urllib庫 urllin2庫 py3.x urllib庫 變化 在pytho2.x中使用import urllib2 對應的,在python3.x中會使用import urllib.request,urllib.error。在pytho2.x中使用import urllib 對應的,...