- 博客(20)
- 资源 (2)
- 收藏
- 关注
原创 AfxBeginThread源码解析
VC程序员对AfxBeginThread函数一定不会陌生,用它来启动线程也是非常的方便,今天一起来看一下AfxBeginThread的具体实现我们知道操作系统提供的创建线程函数是CreateThread,AfxBeginThread最终也一定会调用操作系统提供的CreateThread,那么这个调用链是什么样的呢?大家都知道进程内的多个线程是共享地址空间,那么当防止多线程互相影响,需要...
2018-11-07 16:51:26 728
原创 C++常见问题
1.reinterpret_cast,static_cast,dynamic_cast、const_cast区别reinterpret_cast,非常随意的一种类型转换方式,不做任何检查,非常危险,跟C的强制类型转换差不多 static_cast,同C的隐示类型转换差不多,用做下行转换时不提供动态类型检查 dynamic_cast,类层次上的转换,下行转换时提供动态类型检查,需要有虚函数表...
2018-11-05 15:52:10 217
原创 《跟我一起学爬虫系列》4-使用urllib和beautifulsoup爬取网页
目标本节目标为爬取成都市高新区2017-2018年所有预/现售楼盘信息输出格式为:楼盘名 用途 开发商 地址 预售日期数据来源:成都市城乡房产管理局说明:urllib和beautifulsoup的使用教程网上很多,这里不详细说明了网站分析通过分析页面,发现页面使用了ajax技术,请求的url始终是同一个,通过post的数据来切换数据,数据位于id为ID_ucSho...
2018-10-17 11:33:57 892
原创 《跟我一起学爬虫系列》3-一个简单爬虫示例
本文抓取页面为http://news.baidu.com/,首先介绍下无关紧要但有必要了解的,然后代码说明robots.txtRobots协议全称是网络爬虫排除标准,网站通过Robots协议定义网站访问限制,当然,某些时候,恶意爬虫是不会理会的想了解更多,请查看Robots.txthttp://news.baidu.com/robots.txtUser-agent: Baid...
2018-10-15 17:53:29 301
原创 《跟我一起学爬虫系列》导读
近期工作上用到python,但是由于测试脚本比较简单,本着学以致用的心态,尝试下python较热门的一个应用--爬虫,python环境为3.7,因工作较忙,更新不会太快发布这些个系列的目的:一边学习一边总结,以后再次需要可以迅速找出 方便其他想学习python爬虫的人能够快速入手《跟我一起学爬虫系列》1-爬虫简介《跟我一起学爬虫系列》2-HTTP/HTTPS简介《跟我一起学爬虫...
2018-09-30 15:21:12 205
原创 《跟我一起学爬虫系列》2-HTTP/HTTPS简介
HTTP/HTTPSHTTP:超文本传输协议):是一种发布和接收 HTML页面的方法,默认端口80HTTPS:HTTP的安全版,在HTTP下加入SSL层,默认端口443工作流程客户端(通常是浏览器)发送一个HTTP请求 服务端开始处理请求,发送HTTP响应把结果返回给客户端其中一个请求的开始到一个响应的结束称为事务,事务结束后还会在服务端记录一条日志HTTP请求HTTP...
2018-09-30 15:18:10 265
原创 《跟我一起学爬虫系列》1-爬虫简介
什么是爬虫爬虫就是一段自动化程序,模拟真实的人类访问网络的方式,快速的从网络获取数据。如果法律允许,爬虫可以采集你在网页上看到的任何数据形象一点,我们可以把爬虫想象成一个机器人,它不知疲倦的打开网页,收集我们需要的数据,当然,这个机器人的手速比我们快了不知道多少倍爬虫能做什么这个自行百度即可,爬虫技术较容易被一些不怀好意的人利用来做一些游走在法律边缘的事情爬虫怎么抓数据确定...
2018-09-30 15:17:52 217
原创 Python弹出输入框并获取输入值
使用自带的Tkinter模块,简单的弹输入框示例,返回输入值from Tkinter import *import tkMessageBoxdef getInput(title, message): def return_callback(event): print('quit...') root.quit() def close_ca...
2018-09-25 17:53:22 35726 10
原创 Python自己使用中遇到的问题汇总(持续更新)
Q:ctypes导入动态库报错126A:导入的动态库依赖的其他动态库缺失Q:构建一个字符串,并对字符串的特定位置赋值A:L = [' ' for i in range(0, 256)]for i in range(0, 14): L[240+i] = val[i]data = ''.join(L) ...
2018-09-25 17:44:26 231
转载 Windows下Python2与Python3共存的方法
添加环境变量C:\Python37\;C:\Python37\Scripts;C:\Python27\;C:\Python27\Scripts;运行Python2py -2运行Python3py -3运行pip2py -2 -m pip运行pip3py -2 -m pip
2018-09-25 09:02:46 206
原创 编程题
题目摘自网友发的2018阿里巴巴在线编程题输入数据n(n>=6)代表n个数,从0-9任意输入n个数,然后在n个数选出6个数xx-xx-xx表示 时:分:秒,求出最小时间和最大时间,若时间无效,则输出时间无效例如: 输入: 6 6 5 4 3 2 1输出: 123456 235641输入: 6 9 9 9 9 9 9 输出: 时间无效结题思路因为输入数字限定为0-9,记...
2018-09-22 17:16:57 655
原创 基于Winpcap实现ARP欺骗
事件起因某小伙伴太热衷于浏览新闻看网页,常常忘了自己手中的事情,于是做了这个小程序挑逗了一下实现过程ARP欺骗有分为2个方向,欺骗网关与欺骗被挑逗者,核心为伪造ARP Reply报文,更新目标主机的ARP缓存表,我这里选择了攻击被挑逗者,伪造网关向被攻击者发生ARP Reply报文,引发被攻击主机更新ARP缓存表为了让对方有一定上网时间,攻击流程为:设置休眠间隔10-25分钟...
2018-09-22 17:16:25 2006
翻译 Python版本极简打飞机
简介以前的代码了,今天刚好看到,就传上来了,当时是网上看了下python的书,里面讲了打飞机这个游戏,就用python写出来玩了下,使用的是pygame模块主函数主函数主要创建子弹,飞机,敌机,调度各功能部件def run_game(): #init game and screen pygame.init() game_settings = setting...
2018-09-19 23:31:35 548
原创 公告板
在公告板风格中,通过移除所有与应用相关的语义,仅使用2个通用操作(发布事件与订阅事件),联结所有实体的公告板变得更加通用定义事件管理器class CEventManager{public: typedef bool(*Fn)(void*); void subscribe(int event, Fn handler); void unsubscribe(int...
2018-09-19 22:50:12 458
翻译 获取进程句柄
HANDLE GetProcessHandle(const char* sProcessName){ //获取进程快照 HANDLE hSnapShot = ::CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0); if (hSnapShot == INVALID_HANDLE_VALUE) { //A...
2018-09-19 22:49:29 1230
翻译 CVI程序运行时异常整理
Q:ActiveX controls cannot be created in a thread whose concurrency model is multithread apartment (MTA)A:The fix to this issue is to call CA_InitActiveXThreadStyleForCurrentThread prior to calling N...
2018-09-19 22:48:16 1999
原创 插件系统
简介插件是基于开发人员预先定义好的标准接口开发的独立部件,windows平台下多以dll形式呈现有的公司在软件开发中,并不会做软件设计,更没有相关文档,纯粹想到哪写到哪,当软件完工进入维护/功能扩展阶段后,如果因为某种原因,新的人员进入软件改进。那么恭喜,新人员扩展功能非常困难,还得承担相当的破坏现有功能的风险使用插件系统可以一定程度上解决上述问题,当系统需要的功能不变,仅需变更实现方...
2018-09-19 22:47:28 651
原创 ANSI与UTF-8编码互相转换,CString,std::string,char*,const char*互相转换
ANSI与UTF-8编码互相转换std::string EncodeConvert(std::string sInfo, int sourceEncode, int targetEncode){ // convert unicode const char* buf = sInfo.c_str(); int len = MultiByteToWideChar(sourceEncode,...
2017-08-02 13:37:40 1842
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人