python 源码搭建网站

小编

大家好,今天小编关注到一个比较有意思的话题,就是关于python 源码搭建网站的问题,于是小编就整理了4个相关介绍python 源码搭建网站的解答,让我们一起看看吧。

  1. python写完源代码后如何运行?
  2. python源代码文件的扩展名?
  3. Python+requests爬取源码,为什么有些网页只获取头部一小部分?
  4. 使用python语言如何保密源代码以防止逆向工程?

python写完源代码后如何运行?

正常情况下python写完源代码后需要使用编译器编译后才可以运行。通常情况下python写完源代码是不能直接运行的,需要使用编译器或者是封装为可执行文件才可以。

python源代码文件的扩展名?

python程序的扩展名有.py、.pyc、.pyo和.pyd。.py是源文件,.pyc是源文件编译后的文件,.pyo是源文件优化编译后的文件,.pyd是其他语言写的python库。

扩展名

在写Python程序时我们常见的扩展名是py, pyc,其实还有其他几种扩展名。下面是几种扩展名的用法。

py:py就是最基本的源码扩展名。windows下直接双击运行会调用python.exe执行。

pyw:pyw是另一种源码扩展名,跟py唯一的区别是在windows下双击pyw扩展名的源码会调用pythonw.exe执行源码,这种执行方式不会有命令行窗口。主要用于GUI程序发布时不需要看到控制台信息的情况。

pyc:在执行python代码时经常会看到同目录下自动生成同名的pyc文件。这是python源码编译后的字节码,一般会在代码执行时自动生成你代码中引用的py文件的pyc文件。这个文件可以直接执行,用文本编辑器打开也看不到源码。

pyo:pyo是跟pyc类似的优化编码后的文件。

pyd:pyd并非从python程序生成,而是其他语言写成的可以被python调用的扩展。

Python+requests爬取源码,为什么有些网页只获取头部一小部分?

最有可能的原因就是网页数据是动态加载的,存储在一个json文件中,直接获取源码是提取不到任何信息的,需要抓包分析才行,下面我简单介绍一下操作过程,以某某贷上的数据为例(动态加载):

1.首先,打开原网页,如下,这里假设我们要爬取的数据包含年利率、借款标题、期限、金额和进度5个字段:

python 源码搭建网站

2.接着右键打开网页源码,按Ctrl+F搜索其中关键字,如“10.20%”,可以看到,任何信息都匹配不到,说明数据是动态加载的,而非直接嵌套在网页源码中:

python 源码搭建网站

3.按F12调出浏览器开发者工具,开始抓包分析,依次点击“Network”->“XHR”,F5刷新页面,可以看到,数据是动态加载的,存储在一个json文件中,而非html网页源码,只有解析这个json文件,才能提取出我们需要的数据:

python 源码搭建网站

4.接着就是根据抓包结果解析json文件,已经获取到url地址,所以直接get请求即可,然后用python自带的json包解析就行,测试代码如下,非常简单,依次根据属性提取字段信息即可:

python 源码搭建网站

5.最后点击运行程序,截图如下,已经成功提取到我们需要的数据:

python 源码搭建网站

至此,我们就完成了网页动态数据的爬取。总的来说,整个过程非常简单,最主要的还是抓包分析,获取到真实存储数据的文件,然后再解析就行,只要你有一定的python基础,熟悉一下上面的过程,很快就能掌握的,当然,如果数据或链接进行了加密处理,这个就非常复杂了,需要自己好好琢磨一下,网上也有相关资料和教程,感兴趣的话,可以搜一下,希望以上分享的内容能对你有所帮助吧,也欢迎大家评论、留言进行补充。

使用python语言如何保密源代码以防止逆向工程?

我以前做过这类事情,而且当时更严格,需要打包部署到客户的服务只在有效期内有效,超过有效期必须更新证书才行。

Python代码用任何方法都没法保证保密性,这个时候你可以考虑用一个工具「nuitka」,这个工具会把你的python源代码映射为c++然后编译为二进制,因此对方是无论如何得不到你的源代码的。

代价就是nuitka这个工具并不完美,有一些限制并不能100%完美的转换所有python代码。

1.用Cython编译python成 Windows的pyd文件或Linux的so文件,二进制文件相对安全性较高。

2.用源码混淆器把代码搞的又臭又长。。。混淆完了再用Cython编译为二进制。。。这样静态反编译逆向难度也不小。

3.同其他语言程序一样,可以对调试状态进行检测,当处于调试状态时退出程序或进入混乱代码耗费逆向工程人员心神。

4.分享一个跨平台反调试手段,检测函数运行时间,加断点会导致函数运行时间变长,也可感知正在被调试。

Python是提倡开源的,既然选择Python还是拥抱开源才好~ 都开源还担心逆向工程嘛😄

1)可以把需要保护的部分用c语言实现,从而编译成so等文件,这样逆向的成本会比较高,可以防止直接打开python文件看到代码逻辑。

2)so文件通过ida等工具也是可以反汇编的,可以通过对c语言进行代码混淆,花指令等操作,提高通过ida等反汇编工具的分析难度。

3)不存在绝对无法逆向的技术手段,因此只能是看具体需求,选择具体的防逆向的技术手段。

1. 最稳的就是你改cpython加载代码的过程,改zip包读取最稳。

2. 借助一些加密工具在编译pyc之前进行一定的混淆,可以防君子,自我安慰一下。

商用一般都是用第一种办法,小打小闹用第二种。

到此,以上就是小编对于python 源码搭建网站的问题就介绍到这了,希望介绍关于python 源码搭建网站的4点解答对大家有用。

文章版权声明:除非注明,否则均为ZBLOG原创文章,转载或复制请以超链接形式并注明出处。

发表评论

快捷回复: 表情:
AddoilApplauseBadlaughBombCoffeeFabulousFacepalmFecesFrownHeyhaInsidiousKeepFightingNoProbPigHeadShockedSinistersmileSlapSocialSweatTolaughWatermelonWittyWowYeahYellowdog
评论列表 (暂无评论,5人围观)

还没有评论,来说两句吧...