有什么好的办法可以将 js 转成 Python 吗

如何用python抓取js生成的数据:
全部答案(共7个回答)
t到服务器~~
file = open('filename')
lineN = lines[n]
写一个python脚本,每个电脑启动一个python脚本,该脚本每天定时修改host文件就行了。或者使用pyro远程调用,通过一台控制,不过也是要每台都有脚本
没用过这个,你可以找个修电脑的人帮你看看,或者买找个地方的人帮你装
答: 怎样下载国寿e家智慧版
答: “沉浸”是指人可以完全融入其中:各地的参与者通过网络聚集在同一个虚拟空间里,既可以随意漫游,又可以相互沟通,还可以与虚拟环境交互,使之发生改变
答: 某些ADSL调制解调器使用USB接口与电脑相连,需要在电脑上安装指定的软件以添加虚拟网卡来进行通信
大家还关注
Copyright &
Corporation, All Rights Reserved
确定举报此问题
举报原因(必选):
广告或垃圾信息
激进时政或意识形态话题
不雅词句或人身攻击
侵犯他人隐私
其它违法和不良信息
报告,这不是个问题
报告原因(必选):
这不是个问题
这个问题分类似乎错了
这个不是我熟悉的地区
相关问答:123456789101112131415Python 基础教程
Python replace()方法
Python replace() 方法把字符串中的 old(旧字符串) 替换成 new(新字符串),如果指定第三个参数max,则替换不超过 max 次。
replace()方法语法:
str.replace(old, new[, max])
old -- 将被替换的子字符串。
new -- 新字符串,用于替换old子字符串。
max -- 可选字符串, 替换不超过 max 次
返回字符串中的 old(旧字符串) 替换成 new(新字符串)后生成的新字符串,如果指定第三个参数max,则替换不超过 max 次。
以下实例展示了replace()函数的使用方法:
#!/usr/bin/python
str = "this is string example....wow!!! this is really string";
print str.replace("is", "was");
print str.replace("is", "was", 3);
以上实例输出结果如下:
thwas was string example....wow!!! thwas was really string
thwas was string example....wow!!! thwas is really string
感谢您的支持,我会继续努力的!
扫码打赏,你说多少就多少
记住登录状态
重复输入密码python代码转换成javaJS代码,如下图。_百度知道
python代码转换成javaJS代码,如下图。
我有更好的答案
你的意思是 你的python代码已经实现了 把SQL 语句里 to_date参数替换成null了现在要Java版本的?
附件是代码,我这运行通过,再有问题继续追问
采纳率:43%
你要问方法吗
就是把上面的to_date()的内容替换为null。用java代码写出来
直接就可以了
那还用你回答,呵呵。
为您推荐:
其他类似问题
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。文章摘要:其实这里casperjs与python没有直接关系,主要依赖casperjs调用phantomjs webkit获取html文件内容。长期以来,抓取 客户端javascript渲染生成的html页面 都极为 困难, Java里面有 , 而Python里,我们可以使用独立的跨平台的。
创建site.js(接口文件,输入:url,输出:html file)
//USAGE: E:\toolkit\n1k0-casperjs-e3a77d0\bin&python casperjs site.js --url=http://spys.ru/free-proxy-list/IE/ --outputfile='temp.html'
var fs = require('fs');
var casper = require('casper').create({
pageSettings: {
loadImages: false,
loadPlugins: false,
userAgent: 'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0. Safari/537.36 LBBROWSER'
logLevel: "debug",//日志等级
verbose: true
// 记录日志到控制台
var url = casper.cli.raw.get('url');
var outputfile = casper.cli.raw.get('outputfile');
//请求页面
casper.start(url, function () {
fs.write(outputfile, this.getHTML(), 'w');
casper.run();
python 代码, checkout_proxy.py
import json
import sys
#import requests
#import requests.utils, pickle
from bs4 import BeautifulSoup
import os.path,os
import threading
#from multiprocessing import Process, Manager
from datetime import datetime
import traceback
import logging
import re,random
import subprocess
import shutil
import platform
output_file =
os.path.join(os.path.dirname(os.path.realpath(__file__)),'proxy.txt')
global_log
= 'http_proxy' + datetime.now().strftime('%Y-%m-%d') + '.log'
if not os.path.exists(os.path.join(os.path.dirname(os.path.realpath(__file__)),'logs')):
os.mkdir(os.path.join(os.path.dirname(os.path.realpath(__file__)),'logs'))
global_log = os.path.join(os.path.dirname(os.path.realpath(__file__)),'logs',global_log)
logging.basicConfig(level=logging.DEBUG,format='[%(asctime)s] [%(levelname)s] [%(module)s] [%(funcName)s] [%(lineno)d] %(message)s',filename=global_log,filemode='a')
log = logging.getLogger(__name__)
#manager = Manager()
#PROXY_LIST = manager.list()
mutex = threading.Lock()
PROXY_LIST = []
def isWindows():
if "Windows" in str(platform.uname()):
return True
return False
def getTagsByAttrs(tagName,pageContent,attrName,attrRegValue):
soup = BeautifulSoup(pageContent)
return soup.find_all(tagName, { attrName : re.compile(attrRegValue) })
def getTagsByAttrsExt(tagName,filename,attrName,attrRegValue):
if os.path.isfile(filename):
f = open(filename,'r')
soup = BeautifulSoup(f)
return soup.find_all(tagName, { attrName : re.compile(attrRegValue) })
return None
class Site1Thread(threading.Thread):
def __init__(self,outputFilePath):
threading.Thread.__init__(self)
self.outputFilePath = outputFilePath
self.fileName = str(random.randint(100,1000)) + ".html"
self.setName('Site1Thread')
def run(self):
site1_file = os.path.join(os.path.dirname(os.path.realpath(__file__)),'site.js')
site2_file = os.path.join(self.outputFilePath,'site.js')
if not os.path.isfile(site2_file) and os.path.isfile(site1_file):
shutil.copy(site1_file,site2_file)
#proc = subprocess.Popen(["bash","-c", "cd %s && ./casperjs site.js --url=http://spys.ru/free-proxy-list/IE/ --outputfile=%s" % (self.outputFilePath,self.fileName) ],stdout=subprocess.PIPE)
if isWindows():
proc = subprocess.Popen(["cmd","/c", "%s/casperjs site.js --url=http://spys.ru/free-proxy-list/IE/ --outputfile=%s" % (self.outputFilePath,self.fileName) ],stdout=subprocess.PIPE)
proc = subprocess.Popen(["bash","-c", "cd %s && ./casperjs site.js --url=http://spys.ru/free-proxy-list/IE/ --outputfile=%s" % (self.outputFilePath,self.fileName) ],stdout=subprocess.PIPE)
out=proc.communicate()[0]
htmlFileName = ''
#因为输出路径在windows不确定,所以这里加了所有可能的路径判断
if os.path.isfile(self.fileName):
htmlFileName = self.fileName
elif os.path.isfile(os.path.join(self.outputFilePath,self.fileName)):
htmlFileName = os.path.join(self.outputFilePath,self.fileName)
elif os.path.isfile(os.path.join(os.path.dirname(os.path.realpath(__file__)),self.fileName)):
htmlFileName = os.path.join(os.path.dirname(os.path.realpath(__file__)),self.fileName)
if (not os.path.isfile(htmlFileName)):
print 'Failed to get html content from http://spys.ru/free-proxy-list/IE/'
sys.exit(3)
mutex.acquire()
PROXYList= getTagsByAttrsExt('font',htmlFileName,'class','spy14$')
for proxy in PROXYList:
tdContent = proxy.renderContents()
lineElems = re.split('[&&]',tdContent)
if re.compile(r'\d+').search(lineElems[-1]) and re.compile('(\d+\.\d+\.\d+)').search(lineElems[0]):
print lineElems[0],lineElems[-1]
PROXY_LIST.append("%s:%s" % (lineElems[0],lineElems[-1]))
mutex.release()
if os.path.isfile(htmlFileName):
os.remove(htmlFileName)
if __name__ == '__main__':
if(len(sys.argv)) & 2:
print "Usage:%s [casperjs path]" % (sys.argv[0])
sys.exit(1)
if not os.path.exists(sys.argv[1]):
print "casperjs path: %s does not exist!" % (sys.argv[1])
sys.exit(2)
if os.path.isfile(output_file):
f = open(output_file)
lines = f.readlines()
for line in lines:
PROXY_LIST.append(line.strip())
thread1 = Site1Thread(sys.argv[1])
thread1.start()
thread1.join()
f = open(output_file,'w')
for proxy in set(PROXY_LIST):
f.write(proxy+"\n")
print "Done!"
except SystemExit:
errMsg = traceback.format_exc()
print errMsg
log.error(errMsg)
Ihavegotyou
浏览: 166431 次
来自: 深圳
兄弟能不能发一份完整的源码到我邮箱?luochengwei20 ...
nice job!
你这个貌似提交的时候整个页面都会刷新。
这总结偏向于细节了,流水账
期待详细总结~~~
(window.slotbydup=window.slotbydup || []).push({
id: '4773203',
container: s,
size: '200,200',
display: 'inlay-fix'14个轻量级Python Web框架 - Python - 伯乐在线
& 14个轻量级Python Web框架
我最近发表了一篇名为
的博文——目前它是我博客访问量最高的文章:超过10000人浏览,分享和评论了这些我总结到一起的web框架。
这教会了我一些事,这类文章是有需求的——因为它提供了触手可及的备查和/或探索了做事情的新方式。我发现很多“周刊”在他们的新闻或是博客上刊登了我的文章,对此我感到很高兴。这促使我尝试把更多其他语言中的此类内容总结到一起,比如Python、Ruby、PHP和JavaScript。
众口难调,我尽量把我搜索的时候出现在靠前位置的那些框架都囊括进来了, 我试着以社区规模大小以及它们在GitHub上的活跃度来为它们排名。我建议您在留言中列出您个人最喜爱的框架(或是您正在使用的框架)的链接,我会尽快把它加入到列表中。
是一个可以让你更快地完成工作,更高效地整合系统的语言。你可以学习使用Python并且马上获得生产力的提升,降低维护成本。
Python版的Hello World程序
你可能忘记该怎么做了,下面是一个提示。
print "Hello World!";
print "Hello World!";
我还特别喜欢这一段代码,
while True:
for i in ["/","*","|","\\","|"]:
print "%s\r" % i,
while True:&&&&for i in ["/","*","|","\\","|"]:&&&&&&&&print "%s\r" % i,
Python的Web框架
当一些基础工作不需要你操心的时候,工作起来会比较容易,这也是为什么框架在各个语言的开发者社区中变得如此流行的原因,你无法否认的是,拼装一个网页或是一个项目,比起不得不创建你自己的类或方法要容易的多。
我秉承自己的承诺,在本文或是将来任何的榜单中,不偏向任何一个框架,所有的选择都基于我个人意见和喜好。如果你可以和朋友们分享本文,在你自己的博客上面宣传一下我会很感激你的。同时我也很感激那些让这些Python web框架成为可能所付出的辛勤劳动。
Bobo是一个轻量级的框架,用来创建WSGI web应用。它的目标是简单易用,容易记忆。
它强调两个方面的内容:
1)把URL映射到对象; 2)调用对象来生成HTTP响应。
Bobo 并不具备模板语言,数据库集成层或是其他一些WSGI中间件或特定应用程序库所提供的功能。Bobo建立在其他框架之上,尤其是WSGI和WebOb。
Bottle是一个快速、简单、轻量级的WSGI微型Python web框架。它仅包含单一文件模块,并且不依赖除了Python标准库以外的其他库。
它支持类似Google App Engine、Python Paste这样的应用,还包含了对一些模板的支持,比如Cheetah和Mako。
CherryPy 允许开发者以他们构建其他面向对象Python程序近乎同样的方式来开发web应用。这使得可以在更短的时间内开发出更精简的源代码。CherryPy允许你进行很多常规的Python编程,但是它并没有整合一个模板系统,你需要自己去找一个。(它支持大多数的模板)
CherrPy 能够很好适应默认的Python功能和结构,它在使用更少的代码创建web应用
Cyclone 是一个Python的web服务框架,它基于Twisted protocol实现了Tornado API 。我将把对这个框架的介绍,交给7co.的Gleicon,。
是一个基于Werkzeug 和 Jinja2的微型Python框架。它的目的是更快地上手,基于很多很好的想法开发出来的。你可以在 上了解更多内容。
itty.py是一个小实验,是受的影响而尝试实现的一个微型框架,它刚好够用,没有额外的东西了。
当前支持:
HTTP状态码
支持基本的GET/POST/PUT/DELETE
用户可定义的错误处理器
静态媒体储存
当心!如果你是要找一个久经考验的,企业级框架,你就来错地方了。但是它确实很有趣。
Klein是一个使用Python来开发可用于生产环境web服务的微型框架。它基于使用非常广泛且经过良好测试的组件,比如Werkzeug和Twisted,以及近乎完全的测试覆盖率。你可以阅读来查看介绍。(也许有点过时了)
Morepath是具有强大的能力的Python 微型web框架。Morepath是一个Python WSGI微型框架。他使用路由,但是是针对模型的路由。Morepath是一个模型驱动,灵活的框架,这使得它富有表达力。这里有篇,关于Morepath的一些细节和建议。
ObjectWeb 是一个快速,极简的纯Python web框架,不依赖任何的第三方库。它围绕Python进行设计,因为起初想要把它当做面向对象的编程语言来使用。ObjectWeb支持CGI和WSGI标准,而且有一个内建的开发服务器。我觉得它是由这个设计的
创造Pecan是为了填补Python web框架世界的一个空缺——一个提供object-dispatch方式路由的超轻量级的框架。Pecan的目标并不是要成为一个“全栈”框架,因此没有支持一些额外的功能,比如session或是数据库 。相反,Pecan专注于HTTP本身。
Pyramid是一款非常通用的开源web框架。作为一个框架,它的首要任务是让开发者创建web应用变得简单。web应用的类型并不重要,可以是一个电子表单、一个企业内部网或者是一个社交平台。Pyramid非常通用,可以在各种各样的情况下使用它。
通过阅读/观看SixFeetUp上Caliy的这个.,你可以学到更多关于Pyramid的东西。
Tornado是一个Python web框架,而且是一个异步网络库,最初是为 FriendFeed开发的。通过使用非阻塞I/O,Tornado可以处理数以万计打开的链接,这使它成为长轮询、WebSocket和其他需要为用户提供长连接的应用的理想选择。
Thomas Allen写了一个简单的,关于Tornado是如何工作的以及如何创建一个简单的静态页面。
web.py是一个Python 的web框架,既简单,有强大。web.py处于公有域内,你可以处于任何目的去使用它,没有限制。你可以看上的指导文章以及关于它和Django的比较(好吧,我认为我们不能管这叫做比较)。
一个轻量级、高性能、高并发的WSGI web框架,具备创建现代,高效网络应用的关键功能。这里有一篇来自Andriy Kornatskyy,关于Wheezy的
Python的最小Web框架
我想,有件事还是值得一提,这些框架实际上都是极小的。因此,像web2py和Django这些框架都不会出现在这个列表中。我欢迎大家反馈,审查各个框架,我同时想知道大家对一份全尺寸web框架的列表是否有兴趣?(这将会包括Django)
我把这些框架放在一起,而且我无意间发现了一些很好的文章——其中一个是一些Python web框架的基准测试,这些框架大多数都在本文中列出了。这个基准测试是由Faruk Akgul所完成的,可以点击这个查看
Python的官方页面同样也有专门关于web框架的章节,也许你也想
下一个是什么?Ruby或者PHP?
打赏支持我翻译更多好文章,谢谢!
打赏支持我翻译更多好文章,谢谢!
任选一种支付方式
关于作者:
可能感兴趣的话题
关于 Python 频道
Python频道分享 Python 开发技术、相关的行业动态。
新浪微博:
推荐微信号
(加好友请注明来意)
– 好的话题、有启发的回复、值得信赖的圈子
– 分享和发现有价值的内容与观点
– 为IT单身男女服务的征婚传播平台
– 优秀的工具资源导航
– 翻译传播优秀的外文文章
– 国内外的精选文章
– UI,网页,交互和用户体验
– 专注iOS技术分享
– 专注Android技术分享
– JavaScript, HTML5, CSS
– 专注Java技术分享
– 专注Python技术分享
& 2018 伯乐在线}

我要回帖

更多关于 js将数组转换成字符串 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信