導航:首頁 > 編程語言 > pythonjs文件

pythonjs文件

發布時間:2024-04-11 15:20:59

A. 如何用python爬取js渲染載入的視頻文件

可以使用selenium+ phantomjs
PhantomJS是一個基於webkit的JavaScript API。它使用QtWebKit作為它核心瀏覽器的功能,使用webkit來編譯解釋執行JavaScript代碼。任何你可以在基於webkit瀏覽器做的事情,它都能做到。它不僅是個隱形的瀏覽器,提供了諸如CSS選擇器、支持Web標准、DOM操作、JSON、HTML5、Canvas、SVG等,同時也提供了處理文件I/O的操作,從而使你可以向操作系統讀寫文件等。PhantomJS的用處可謂非常廣泛,諸如前端無界面自動化測試(需要結合Jasmin)、網路監測、網頁截屏等。

B. python——Django項目開發:配置項目/static/路徑,調用css、img、js等靜態文件

在Django項目開發中,不能像正常web開發一樣通過 'imgs/bg.jpg' 訪問本地靜態文件,需要做一些配置,才能實現靜態文件的訪問。

一、首先在項目根路徑下新建一個static文件夾,然後在static文件夾下可以新建相應的css、imgs、js等文件夾,用於存放css、img、js等靜態文件。

二、項目配置

1、打開settings.py,在底部添加:

2、打開urls.py,在 urlpatterns 中添加:(注意,如果你在blog目錄下也建立了urls.py,那麼就得在blog/urls.py中做修改。別忘了import settings):

(不過我經過實測,不加這一個,也可以完成靜態文件的訪問)
3、在html模板最上面添加:

然後在需要的地方按照這個格式進行調用,如:

最後重新運行項目,img等本地靜態文件就可以被django找到了,這時模板對應的頁面就可以顯示使用img等文件了。

C. python中如何調用js文件中的方法呢

1、打開pycharm開發工具,點擊File菜單,選擇Settings...,進行第三方模塊安裝;輸入selenium,點擊Install Package。

D. Python怎麼獲取網頁中js生成的數據

js代碼是需要js引擎運行的,Python只能通過HTTP請求獲取到HTML、CSS、JS原始代碼而已。
不知道有沒有用Python編寫的JS引擎,估計需求不大。
我一般用PhantomJS、CasperJS這些引擎來做瀏覽器抓取。
直接在其中寫JS代碼來做DOM操控、分析,以文件方式輸出結果。
讓Python去調用該程序,通過讀文件方式獲得內容。

E. 怎麼用 python 模擬 js 里 JSEncrypt 模塊的加密方式

PC登錄新浪微博時,在客戶端用js預先對用戶名、密碼都進行了加密,而且在POST之前會GET一組參數,這也將作為POST_DATA的一部分。這樣,就不能用通常的那種簡單方法來模擬POST登錄(比如人人網)。
通過爬蟲獲取新浪微博數據,模擬登錄是必不可少的。
1、在提交POST請求之前,需要GET獲取四個參數(servertime,nonce,pubkey和rsakv),不是之前提到的只是獲取簡單的servertime,nonce,這里主要是由於js對用戶名、密碼加密方式改變了。
1.1 由於加密方式的改變,我們這里將使用到RSA模塊,有關RSA公鑰加密演算法的介紹可以參考網路中的有關內容。下載並安裝rsa模塊:
下載:https//pypi.python.org/pypi/rsa/3.1.1
rsa模塊文檔地址:http//stuvel.eu/files/python-rsa-doc/index.html
根據自己的Python版本選擇適合自己的rsa安裝包(.egg),在win下安裝需要通過命令行使用easy_install.exe(win上安裝setuptool從這里下載:setuptools-0.6c11.win32-py2.6.exe 安裝文件 )進行安裝,例如:easy_install rsa-3.1.1-py2.6.egg,最終命令行下測試import rsa,未報錯則安裝成功。
1.2 獲得以及查看新浪微博登錄js文件
查看新浪通行證url (http//login.sina.com.cn/signup/signin.php)的源代碼,其中可以找到該js的地址 http//login.sina.com.cn/js/sso/ssologin.js,不過打開後裡面的內容是加密過的,可以在網上找個在線解密站點解密,查看最終用戶名和密碼的加密方式。
1.3 登錄
登錄第一步,添加自己的用戶名(username),請求prelogin_url鏈接地址:
prelogin_url = 'http//login.sina.com.cn/sso/prelogin.php?entry=sso&callback=sinaSSOController.preloginCallBack&su=%s&rsakt=mod&client=ssologin.js(v1.4.4)' % username
使用get方法得到以下類似內容:
sinaSSOController.preloginCallBack({"retcode":0,"servertime":1362041092,"pcid":"gz-","nonce":"IRYP4N","pubkey":"","rsakv":"1330428213","exectime":1})
進而從中提取到我們想要的servertime,nonce,pubkey和rsakv。當然,pubkey和rsakv的值我們可以寫死在代碼中,它們是固定值。
2、之前username 經過BASE64計算:
復制代碼 代碼如下:
username_ = urllib.quote(username)
username = base64.encodestring(username)[:-1]
password經過三次SHA1加密,且其中加入了 servertime 和 nonce 的值來干擾。即:兩次SHA1加密後,結果加上servertime和nonce的值,再SHA1算一次。
在最新的rsa加密方法中,username還是以前一樣的處理;
password加密方式和原來有所不同:
2.1 先創建一個rsa公鑰,公鑰的兩個參數新浪微博都給了固定值,不過給的都是16進制的字元串,第一個是登錄第一步中的pubkey,第二個是js加密文件中的『10001'。
這兩個值需要先從16進制轉換成10進制,不過也可以寫死在代碼里。這里就把10001直接寫死為65537。代碼如下:
復制代碼 代碼如下:
rsaPublickey = int(pubkey, 16)
key = rsa.PublicKey(rsaPublickey, 65537) #創建公鑰
message = str(servertime) + '\t' + str(nonce) + '\n' + str(password) #拼接明文js加密文件中得到
passwd = rsa.encrypt(message, key) #加密
passwd = binascii.b2a_hex(passwd) #將加密信息轉換為16進制。
2.2 請求通行證url:login_url =『http//login.sina.com.cn/sso/login.php?client=ssologin.js(v1.4.4)'
需要發送的報頭信息
復制代碼 代碼如下:
postPara = {
'entry': 'weibo',
'gateway': '1',
'from': '',
'savestate': '7',
'userticket': '1',
'ssosimplelogin': '1',
'vsnf': '1',
'vsnval': '',
'su': encodedUserName,
'service': 'miniblog',
'servertime': serverTime,
'nonce': nonce,
'pwencode': 'rsa2',
'sp': encodedPassWord,
'encoding': 'UTF-8',
'prelt': '115',
'rsakv' : rsakv,
'url': 'http//weibo.com/ajaxlogin.php?framelogin=1&callback=parent.sinaSSOController.feedBackUrlCallBack',
'returntype': 'META'
}
請求的內容中添加了rsakv,將pwencode的值修改為rsa2,其他跟以前一致。
將參數組織好,POST請求。檢驗是否登錄成功,可以參考POST後得到的內容中的一句 location.replace("http://weibo.com/ajaxlogin.php?framelogin=1&callback=parent.sinaSSOController.feedBackUrlCallBack&retcode=101&reason=%B5%C7%C2%BC%C3%FB%BB%F2%C3%DC%C2%EB%B4%ED%CE%F3");
如果retcode=101則表示登錄失敗。登錄成功後結果與之類似,不過retcode的值是0。
3、登錄成功後,在body中的replace信息中的url就是我們下一步要使用的url。然後對上面的url使用GET方法來向伺服器發請求,保存這次請求的Cookie信息,就是我們需要的登錄Cookie了。

閱讀全文

與pythonjs文件相關的資料

熱點內容
大疆帶屏控如何安裝app 瀏覽:945
國產大胸電影 瀏覽:706
模擬器中的pco的命令提示窗口 瀏覽:874
蘿卜雙端源碼 瀏覽:873
魔域gm易語言工具源碼 瀏覽:452
機械設計手冊pdf電子版 瀏覽:98
為什麼網吧伺服器會掉盤 瀏覽:526
文電通pdf套裝版4 瀏覽:327
如何使用百度地圖伺服器地址 瀏覽:921
吉林租伺服器託管雲伺服器 瀏覽:781
中越反擊戰電影全集 瀏覽:116
溯源碼驗證碼無效 瀏覽:354
風月片有酷網站 瀏覽:687
大尺度電影韓劇 瀏覽:680
安卓手機怎麼聯接a 瀏覽:716
好色小姨 小說 瀏覽:677
網站的源碼怎麼使用 瀏覽:61
我的世界伺服器b2怎麼玩 瀏覽:582
付費電影免費看。 瀏覽:844
白領解壓培訓 瀏覽:578