源代码

Python系列之五_爬虫抓图

左心房为你撑大大i 提交于 2019-11-27 09:02:02
  Python系列之五_爬虫抓图   前面我们粗略地学习了Python语言的语法,一直学语法也挺无聊的,现在让我们让做一些有趣的事情。   例如你在百度贴吧里看到一篇文章,里面有很多好看的图片,但是一张张另存比较慢,学完Python语言后,我们可以编写一个爬虫程序,把所有图片全部抓下来。   我们的思路是这样的:   首先,把这个网页的HTML源代码先抓下来;   然后,分析HTML源代码,找出所有图片的链接;   最后把所有图片下载下来。   一、抓取HTML源代码 #!/usr/bin/python # -*- coding: UTF-8 -*- import urllib def get_html(url): page = urllib.urlopen(url) html = page.read() return html ht = get_html("http://tieba.baidu.com/p/5004440579") print ht   下面我们来分析这段代码。   “import urllib”这句表示导入urllib这个库,感觉有点像Java的import。   def部分是定义一个函数,函数需要与前面隔开两行。函数体缩进一层。   urllib.urlopen()函数用于打开一个url,并返回一个页面对象。   page.read(

Android源代码结构分析

蓝咒 提交于 2019-11-27 08:31:07
Google提供的Android包含了:Android源代码,工具链,基础C库,仿真环境,开发环境等,完整的一套。 第一级别的目录和文件如下所示: [cpp] view plain copy ---------------- ├── Makefile 全局的Makefile ├── build 系统编译规则和配置所需要的脚本和工具 ---------------- ├── prebuilt 各种平台编译工具链 ├── bionic 基础C库源代码 ---------------- ├── frameworks * Android应用程序的核心框架层(java及C++语言) ├── system * 底层文件系统/库/应用及组件(C语言) ├── dalvik JAVA虚拟机 ├── external android使用的一些额外开源库 ├── libcore 与媒体播放框架代码相关 ---------------- ├── packages 各种应用程序实例 ├── development 程序开发所需要的实例/模板/工具 ---------------- ├── ndk ├── sdk ├── cts Android CTS兼容性规范测试用例 ---------------- ├── vendor * 厂商定制代码 ├── device * 厂商定制代码 ├── hardware

Linux 0.11内核编译和bochs上的实验环境的搭建

眉间皱痕 提交于 2019-11-27 06:46:18
最近决定开始阅读Linux 0.11的源代码。 学习Linux操作系统的核心概念最好的方法莫过于阅读源代码。而Linux当前最新的源代码包已经有70MB左右,代码十分庞大,要想深入阅读十分困难。而Linux早期的0.11版本虽然有诸多局限,但是具备了现代操作系统的完备功能,一些基本概念沿用到了当前版本,并且代码只有300KB,非常适合阅读。 阅读源代码之前首先需要搭建实验环境,由于Linux 0.11的代码是二十年前编写的,当前版本的gcc编译器无法正常编译通过,因此需要首先将Linux 0.11源代码移植到gcc 4.3.4+,并在bochs虚拟机上搭建起了实验环境。 一、Linux 0.11内核编译 1、编译环境设置 我的操作系统是: Linux ubuntu 2.6.32-32-generic #62-Ubuntu SMP i686 GNU/Linux 安装gcc编译器,使用gcc -v确认gcc编译器的版本高于4.3.4 安装编译工具: apt-get install build-essential 安装该软件包: apt-get install bin86 2、修改Makefile文件 Linux 0.11内核源代码中基本上每个子目录都包含有一个Makefile,需要对每个Makefile进行如下修改: a)将gas替换为as,将gld替换为ld

Python04字符串和编码

一曲冷凌霜 提交于 2019-11-27 03:10:12
Python 字符串与编码 字符编码 : ASCII Unicode UTF-8 PS: 这方面的知识后面再深入理解,上述三种编码是目前较广泛的! 字符串 Python3中,字符串以Unicode编码(支持多语言) ord( 字符 )获取 单个字符 的整数表示 # ord(字符):获取字符的整数表示 print(ord('字')) 运行结果: chr( 整数 ):获取整数表示的单个字符 # chr(整数):获取整数表示对应的字符 print(chr(171125)) 运行结果: 如果ord( 字符串 )会怎样? # ord()只能对单个字符进行操作 print(ord("姓名")) print(ord('我是字符串哦!')) 运行结果: 字节(bytes):Python对 bytes 类型的数据用带 b 前缀的 单引号 ,或者 双引号 表示 实例: # Python对bytes类型的数据用带b前缀的单引号,或者双引号表示 t_byte = b'123' print(t_byte) print(type(t_byte)) # 查看t_byte的数据类型 运行结果: 如果 b'中文' 会怎么样? 字符串转bytes:以Unicode编码的 str 可以使用 encode() 转换指定的 bytes 使用语法: "字符串".encode(编码集) 实例: # 通过字符串.encode

Web常见的源码泄露

这一生的挚爱 提交于 2019-11-27 02:35:43
0x01 .git源码泄漏 漏洞成因: 在运行git init初始化代码库的时候,会在当前目录下面产生一个.git的隐藏文件,用来记录代码的变更记录等等。在发布代码的时候,把.git这个目录没有删除,直接发布了。使用这个文件,可以用来恢复源代码。 e.g. http://www.127.0.0.1/.git/config 漏洞利用工具: 1.GitHack 下载地址: https://github.com/lijiejie/GitHack GitHack 工具使用说明: python2 GitHack.py http://127.0.0.1/.git/ 需要python2的运行环境 修复建议: 1、删除.git文件 2、通过apache/nginx来拒绝.git访问 0x02 .hg文件泄露 漏洞成因: Mercurial 是一个 版本控制系统. 开发者可以用它来管理源代码. hg在初始化代码库的时候,会在当前目录下面产生一个.hg的隐藏文件 e.g. http://www.127.0.0.1/.git/config 漏洞利用工具: dvcs-ripper 下载地址 https://github.com/kost/dvcs-ripper rip-hg.pl -v -u http://www.example.com/.hg/ 修复建议: 删除.hg 0x03 svn源码泄露 漏洞成因

Linux与Android的关系

生来就可爱ヽ(ⅴ<●) 提交于 2019-11-27 02:04:19
大家都知道Android是基于Linux内核的 操作系统 ,也曾经和Linux基金会因为内核问题产生过分歧,本文将开始对Android的内核进行剖析,主要介绍Android和Linux之间的关系,后续还会讲到Android系统在Linux系统之上扩展的部分功能和驱动。 虽然Android基于Linux内核,但是它与Linux之间还是有很大的差别,比如Android在Linux内核的基础上添加了自己所特有的驱动程序。下面我们就来分析一下它们之间究竟有什么关系? 一、 Android为什么会选择Linux 成熟的 操作系统 有很多,但是Android为什么选择采用Linux内核呢?这就与Linux的一些特性有关了,比如: 1、强大的 内存 管理和进程管理方案 2、基于权限的安全模式 3、支持共享库 4、经过认证的驱动模型 5、Linux本身就是开源项目 更多关于上述特性的信息可以参考Linux 2.6版内核的官方文档,这便于我们在后面的学习中更好地理解Android所特有的功能特性。接下来分析Android与Linux的关系。 二、Android不是Linux 看到这个标题大家可能会有些迷惑,前面不是一直说Android是基于Linux内核的吗,怎么现在又不是Linux了?迷惑也是正常的,请先看下面几个要点,然后我们将对每一个要点进行分析,看完后你就会觉得Android不是Linux了

Kendo UI常用示例汇总(十一)

╄→гoц情女王★ 提交于 2019-11-27 01:58:42
Kendo UI Professional 提供开源和商业两个版本。开源版 Kendo UI Core ,有40+个框架和组件;商业版整合了之前的 Kendo UI Web 、 Kendo UI Mobile 和 Kendo UI DataViz ,一共有70+个框架和组件。作为Kendo UI的升级版,Kendo UI Professional既可以开发网页版应用程序,也可以开发移动版应用程序,并且在性能上也有显著的优化和提升。 Kendo UI Professional试用版下载猛戳 >> Kendo UI Professional Scheduler示例十五:API Telerik Kendo UI Scheduler提供了丰富的API和事件,提供简单的配置和扩展事件。另附源代码供大家参考! Kendo UI Professional Scheduler示例十六:支持RTL Telerik Kendo UI Scheduler支持right-to-left语言和渲染。另附源代码供大家参考! Kendo UI Professional Scheduler示例十七:键盘导航 Scheduler提供了扩展的键盘导航,允许您集中控件、导航浏览过的单元格、选择预约等。另附源代码供大家参考! Kendo UI Professional Scheduler示例十八:本地化 Telerik

Kendo UI常用示例汇总(九)

∥☆過路亽.° 提交于 2019-11-27 01:58:29
Kendo UI Professional 提供开源和商业两个版本。开源版 Kendo UI Core ,有40+个框架和组件;商业版整合了之前的 Kendo UI Web 、 Kendo UI Mobile 和 Kendo UI DataViz ,一共有70+个框架和组件。作为Kendo UI的升级版,Kendo UI Professional既可以开发网页版应用程序,也可以开发移动版应用程序,并且在性能上也有显著的优化和提升。 Kendo UI Professional试用版下载猛戳 >> Kendo UI Professional编辑器示例八:事件 Kendo UI编辑器允许用户以熟悉、友好地方式编辑HTML,本示例主要演示了Kendo UI编辑器的事件。另附源代码供大家参考! Kendo UI Professional编辑器示例九:API Kendo UI编辑器允许用户以熟悉、友好地方式编辑HTML,本示例主要演示了Kendo UI编辑器的API。另附源代码供大家参考! Kendo UI Professional编辑器示例十:本地化 本示例主要演示了Kendo UI编辑器的本地化。另附源代码供大家参考! Kendo UI Professional编辑器示例十一:支持RTL 本示例主要演示了Kendo UI编辑器支持RTL。另附源代码供大家参考! Kendo UI

反编译Silverlight项目

流过昼夜 提交于 2019-11-27 01:54:47
在文章的开头,我想事先说明,本文并非诱导读者恶意反编译他人作品,盗取他人代码成果,只是为了学习Silverlight讨论而用。 在互联网上,每天都会有很多Silverlight项目发布,有的是开源,有的只是为了展示。在Silverlight学习的初期,多数都需要模仿学习,所以,发现一个Silverlight项目,能够查看其中的源代码是最好不过了。但是,Silverlight发布,只是发布资源包XAP,而所有资源都在这个XAP文件中,该如何查看其中的资源和代码呢?下面我将演示反编译的方法,演示中我将用Silverlight.Net首页Silverlight作为例子。 1. 首先打开Silverlight.Net,该页面中包含一个Silverlight导航动画; 2. 在浏览器中,点击右键,查看页面源代码; 3. 在html源代码中搜索"xap",很快就能定位出xap的位置。 我们看到 <param name =" Source " value =" clientBin/showcasenav/ShowcaseNav.xap " /> 该value就是xap在服务器端的位置。 4. 我们使用同样的域名,来获取当前的xap文件。打开新的浏览器,在地址栏输入: http://www.silverlight.net/clientBin/showcasenav/ShowcaseNav.xap

小米的抢购骗局+小米的抢购页面的源代码分析(三)工具类分析

雨燕双飞 提交于 2019-11-27 01:01:15
小米的javascript除了数据部分,下面就只剩871行的javascript了。 下面分模块进行分析。首先从简单的工具类入手。 从616行到最后。一共253行。 小米由于采用了一个数组,存储所有的静态字符串。所以需要手动对代码进行翻译 var Util = { time: function() { var a = m.$( "reback" ); if (count === 0x0) {//count应该是一个计数器,是倒计时使用的 m.$( "box-close ").innerHTML = "X" ;//一个关闭的X a.innerHTML = " 进入活动 " ; a.className = " reback_btn_next " ; this.start(); return false }; count = count - 0x1;//倒计时减一 a.innerHTML = ” 重新进入(<span id='initCount'> “ + count + ”</span>) “ }, //以上的time函数,是显示您正在排队倒计时的那个窗口, count这个值,咱们先记住,看看是从何而来 start: function() { var b = this, a = m.$( ” reback “ ); //这里的m.$应该类似于jquery的选择符,选择的是对象的id a