python如何获得js执行之后的源代码,或者是谷歌浏览器“审查元素”得到的源代码?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python如何获得js执行之后的源代码,或者是谷歌浏览器“审查元素”得到的源代码?相关的知识,希望对你有一定的参考价值。
一些页面中含有框架,如果直接使用urllib获得源代码获得的只是js执行之前的代码,而且只是一部分,无法进行页面全面的分析。谷歌浏览器有一个“审查元素”的功能,使用这个功能之后得到的是网页的DOM树结构和页面详细的源代码,我想得到这种源代码,请问python如何获得”审查元素“得到的的源代码。。。求python大师,小妹刚接触python,不是很懂,求大神们见谅~~~
参考技术A 你的意思是需要python获取js后还要运行js,输出运行结果?据我所知,自带的库没有这个功能,其实你可以换个思路,用python模拟js运行的结果,然后向网站提交数据,一般我就是这么干的。 参考技术B 你的说法不正确,没有js执行之前的代码和运行之后的代码,只能说是运行之前的数据和运行之后的结果。一般的程序不会改变程序代码的,只会改变相关的数据。如何获得每次迭代的时间执行? Python [重复]
【中文标题】如何获得每次迭代的时间执行? Python [重复]【英文标题】:How do I get the time execution for each iteration? Python [duplicate] 【发布时间】:2013-11-30 14:33:23 【问题描述】:我有这个代码:
for times in range(50):
factor = (min(getHeight(),getWidth()) / math.sqrt(qtdPosicoes)) * guess()
positionInGrid =
grid = np.zeros((getGridColumns(),getGridLines()))
groupMatrix = np.zeros((grid.shape[0], grid.shape[1]))
groups = getGroups(grid, listaComPosicoes, getXRanges(listaComPosicoes),getYRanges(listaComPosicoes))
solution = calculaSilhueta()
if bestSolution is None or solution > bestSolution:
bestSolution = solution
我在文档时间模块中找到但我不明白如何使用
【问题讨论】:
***.com/questions/1593019/… 将上面的内容放在一个函数中(没有循环),然后查看timeit
模块为你做计时/重复。
@JonClements,谢谢!
【参考方案1】:
使用此模块的一种简单方法是让time.time()
标记代码的开始,然后再次使用time.time()
标记代码的结尾。之后,减去它们,这样你就可以得到持续时间。
所以你的代码应该是这样的:
for times in range(50):
start = time.time()
#do some stuff
stop = time.time()
duration = stop-start
print(duration)
例子:
>>> for i in range(3):
start = time.time()
print(i)
stop = time.time()
print(stop-start)
0
0.08444404602050781
1
0.014003992080688477
2
0.009001970291137695
但更好的选择是使用timeit
模块,它更容易:
>>> import timeit
>>> def myfunction(time):
print(time)
>>> result = timeit.timeit("for i in range(2): myfunction(i)", setup="from __main__ import myfunction", number=1)
0
1
>>> result
0.0868431608504352
希望这会有所帮助!
【讨论】:
【参考方案2】:一个简单的解决方案是
start = time.time()
... do the computation ...
stop = time.time()
duration = stop - start
【讨论】:
以上是关于python如何获得js执行之后的源代码,或者是谷歌浏览器“审查元素”得到的源代码?的主要内容,如果未能解决你的问题,请参考以下文章