python登錄模塊
① python中模塊怎麼弄
有過C語言編程經驗的朋友都知道在C語言中如果要引用sqrt這個函數,必須用語句"#include<math.h>"引入math.h這個頭文件,否則是無法正常進行調用的。那麼在Python中,如果要引用一些內置的函數,該怎麼處理呢?在Python中有一個概念叫做模塊(mole),這個和C語言中的頭文件以及Java中的包很類似,比如在Python中要調用sqrt函數,必須用import關鍵字引入math這個模塊,下面就來了解一下Python中的模塊。
一.模塊的引入
在Python中用關鍵字import來引入某個模塊,比如要引用模塊math,就可以在文件最開始的地方用import math來引入。在調用math模塊中的函數時,必須這樣引用:
模塊名.函數名
為什麼必須加上模塊名這樣調用呢?因為可能存在這樣一種情況:在多個模塊中含有相同名稱的函數,此時如果只是通過函數名來調用,解釋器無法知道到底要調用哪個函數。所以如果像上述這樣引入模塊的時候,調用函數必須加上模塊名。
在test1.py中引入模塊test:
#test1.pyimport test
然後運行test1.py,會輸出"hello world"。也就是說在用import引入模塊時,會將引入的模塊文件中的代碼執行一次。但是注意,只在第一次引入時才會執行模塊文件中的代碼,因為只在第一次引入時進行載入,這樣做很容易理解,不僅可以節約時間還可以節約內存。
② python 使用requests模塊, 如何模擬進行登錄並執行之後的操作
以下實例是一個完整的代碼,實現了從博客獲取內容發布至網路,分別實踐抓取博客內容、模擬登錄、表單提交這幾步;
#注意,以下程序是一個完全程序,如果只需要實現模擬登錄,提交表單,刪除抓取部分即可,相關的代碼已經清楚標注,可以根據自己實際情況修改。
代碼如下:
# -*- coding: utf-8 -*-
import re
import urllib
import urllib2
import cookielib
#第一步,獲取博客標題和正文 ,「IP」可以改為實際地址;
url = "IP"
sock = urllib.urlopen(url)
html = sock.read()
sock.close()
content = re.findall('(?<=blogstory">).*(?=<p class="right artical)', html, re.S)
content = re.findall('<script.*>.*</script>(.*)', content[0], re.S)
title = re.findall('(?<=<title>)(.*)-.* - CSDN.*(?=</title>)', html, re.S)
#根據文章獲取內容新建表單值
blog = {'spBlogTitle': title[0].decode('utf-8').encode('gbk'), #文章標題
'spBlogText': content[0].decode('utf-8').encode('gbk'),#文章內容
'ct': "1",
'cm': "1"}
del content
del title
#第二步,模擬登錄網路;
cj = cookielib.CookieJar()
#登陸網路的用戶名和密碼
post_data = urllib.urlencode({'username': '[username]', 'password': '[password]', 'pwd': '1'})
#登錄地址路徑
path = 'https://passport..com/?login'
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))
opener.addheaders = [('User-agent', 'Opera/9.23')]
urllib2.install_opener(opener)
req = urllib2.Request(path, post_data)
conn = urllib2.urlopen(req)
#獲取網路登陸認證令牌
bd = urllib2.urlopen(urllib2.Request('http://hi..com/[username]/creat/blog')).read()
bd = re.findall('(?<=bdstoken\" value=\").*(?=ct)', bd, re.S)
blog['bdstoken'] = bd[0][:32]
#設置分類名
blog['spBlogCatName'] = 'php'
#第四步,比較表單,提交表單;req2 = urllib2.Request('http://hi..com/[username]/commit', urllib.urlencode(blog))
#最後,查看錶單提交後返回內容,檢驗;
print urllib2.urlopen(req2).read()
#注意:將[username]/[password]替換為自己真實用戶名和密碼
③ 怎麼用python登錄windows系統
# -*- coding:utf-8 -*-
#! python2
import wmi
def sys_version(ipaddress, user, password):
conn = wmi.WMI(computer=ipaddress, user=user, password=password)
for sys in conn.Win32_OperatingSystem():
print "Version:%s" % sys.Caption.encode("UTF8"),"Vernum:%s" % sys.BuildNumber #系統信息
print sys.OSArchitecture.encode("UTF8") # 系統的位數
print sys.NumberOfProcesses # 系統的進程數
if __name__ == '__main__':
sys_version(ipaddress="ip", user="用戶名", password="密碼")
④ 怎麼用python 來實現 SSL登錄ftp python中有ftplib模塊,但它是普通登錄,也有ssl模塊,怎麼來實現呢
從python 2.7開始ftplib模塊就有一個支持ftp ssl的類FTP_TLS了
具體可以看這里
http://docs.python.org/library/ftplib.html#ftplib.FTP_TLS
⑤ 想用python編寫一個腳本,登錄網頁,在網頁里做一系列操作,應該怎樣實現
python編寫一個腳本的臘廳具體操作:
1、首先,打開python並創建一個新的PY文件。
⑥ python 使用paramiko模塊ssh遠程linux伺服器,linux伺服器已經使用公鑰認證免密碼登陸,請問怎麼寫。
實例1:
#!/usr/bin/python
import paramiko
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect("172.16.1.3",22,"root","333333")
stdin, stdout, stderr = ssh.exec_command("df -h")
print stdout.readlines()
ssh.close()
實例2:
#!/usr/bin/python
import paramiko
t = paramiko.Transport(("172.16.1.2",322))
t.connect(username = "root", password = "222222")
sftp = paramiko.SFTPClient.from_transport(t)
remotepath='/opt/test.txt'
localpath='/opt/test.txt'
sftp.put(localpath,remotepath)
#sftp.get(remotepath, localpath)
t.close()