Mingz技术博客

...

导航

2013年7月24日 #

用QT做的一个基本的Rss阅读器

摘要: 之前一直用的是Liferea。个人觉得不是很好。不喜欢的地方有三点:1.经常不响应。这个不知道是为什么,经常卡住。2.我需要的只是每天能看到更新的新闻。感觉设置的很多功能是我永远也用不到的。3.界面。看新闻的是,我更希望的是它给我的是一个新闻的列表,像谷歌阅读器那样,然后我选择自己喜欢的去全文阅读。而不是像它这样在一个界面上只给文章内容很小的地方,看这感觉总觉得缺了点什么。先在用的是google reader,虽然速度有时慢了点,但还是很值得的。刚开始也想自己做一个,不过当时太忙了,做了一半就放下了,现在也懒得做下去了,不过主要的功能都实现了,虽然看起来很难看。记录一下当时做的思路。当时想做的 阅读全文

posted @ 2013-07-24 16:57 Mingz2013 阅读(342) 评论(0) 推荐(1)

QT 线程池 + TCP 小试(三)实现最终功能

摘要: 有了TCP、线程池,我们就可以把他们连接起来。使用最简单的 QMainWindow吧,设计个UI,而后,创建我们的线程池、Service,并把TcpService 的数据接收信号与线程池的数据处理信号连接起来。 为了模拟处理任务,我们简单的设计一个转换大小写字符的函数作为处理过程的模拟,这样有利于在超级终端调试、模拟。[cpp]#ifndef MYTASKITEM_H#define MYTASKITEM_H#include "qghthreadtaskitem.h"class MyTaskItem : public QGHThreadTaskItem{ Q_OBJECTpu 阅读全文

posted @ 2013-07-24 16:56 Mingz2013 阅读(397) 评论(0) 推荐(0)

Qt下QThread用法学习之多线程

摘要: [html]//tcpserver.h#ifndef TCPSERVER_H#define TCPSERVER_H#include "tcpthread.h"#includeclass TcpServer:public QTcpServer{ Q_OBJECTpublic: explicit TcpServer(QObject *parent=0); //Object obj;signals://更新UI void bytesArrived(qint64,qint32,int);protected: void incomingConnection(int socketDes 阅读全文

posted @ 2013-07-24 16:55 Mingz2013 阅读(1271) 评论(0) 推荐(0)

Qt正则表达式的贪婪模式

摘要: 使用了2个正则表达式库,分别是QRegExp、pcre和pcre++。正则表达式的写法一般都是通用的,但对于贪婪匹配,不同的正则库有些不同。在pcre中,非贪婪模式是由'?'来指定的,但在QRegExp中,存在'?',为不合法的正则表达式,在QRegExp中,要使用setMinimal函数来指定贪婪算法。setMinimal函数的意思是设置最小匹配,也就是非贪婪。1.例子:从html代码中抓取隐藏域内容:[html] 正则表达式:ps:如果要在代码里面写,'"'要用斜杠转义,变成:匹配结果:(1).要最小化匹配->非贪婪setMi 阅读全文

posted @ 2013-07-24 16:52 Mingz2013 阅读(506) 评论(0) 推荐(0)

Qt网络编程之实例一GET方式

摘要: 看了两天的Qt网络编程,其实主要就是看了看QNetworkAccessManager、QNetworkRequest和QNetworkReply这三个类的主要内容。在之前,Qt网络编程主要是使用QHttp等类,但是现在在帮助手册中这些类已经标记为过时的,所以,现在用Qt编写网络程序最好还是使用上面的三个类,之前也说过,对于一个应用程序来说,一个QNetworkAccessManager已经足够了。不知道你有没有通过名字看出这三个类的联系呢?这里再贴一下三个类的官方说明,加强印象,也有助于大家对照接下来的示例看。QNetworkAccessManagerQNetworkRequestQNetwo 阅读全文

posted @ 2013-07-24 16:51 Mingz2013 阅读(427) 评论(0) 推荐(0)

Qt网络编程之实例二POST方式

摘要: 上一篇文章http://www.2cto.com/kf/201203/124791.html主要介绍了Qt网络编程的GET方式,这里再说一下POST方式。首先说一下自己的环境: 主机:Win7;Web服务器:TomCat v7.x;数据库服务器:MySQL v5.x。 主要是用Qt实现登录验证,后台使用servlet响应登录请求,查询后台数据库,是否为合法用户。相信大家明白了吧!我实现的就是客户端发出请求,服务器端在数据库中进行查询,如果查找到,则返回用户信息,如果没有找到,则返回0,首先贴一下效果图: 1、在浏览器中测试:2、在Qt客户端中测试:这里贴一下Qt客户端的代码,服务器端的代码可详 阅读全文

posted @ 2013-07-24 16:51 Mingz2013 阅读(481) 评论(0) 推荐(0)

qt4 定时器

摘要: 方法1----跟vc中差不多先添加几个私有成员保存系统随机分配的定时器编号;添加定时器slot,某个定时器超时时系统自动去执行这个函数。[cpp]view plaincopyprivate:intid1,id2,id3;privateslots:voidtimerEvent(QTimerEvent*);在需要的时候启动定时器[cpp]view plaincopyid1=startTimer(1000);//其返回值为timerIdid2=startTimer(5000);id3=startTimer(10000);实现定时器slot[cpp]view plaincopyvoidMainWind 阅读全文

posted @ 2013-07-24 16:48 Mingz2013 阅读(218) 评论(0) 推荐(0)

qDebug()

摘要: [cpp]view plaincopy#includeqDebug()<<"hello"; 阅读全文

posted @ 2013-07-24 16:47 Mingz2013 阅读(176) 评论(0) 推荐(0)

四十六、Qt网络(六)UDP

摘要: 像QQ那样,当有很多用户,发送的大部分都是短消息,要求能及时响应,并且对安全性要求不是很高的情况下使用UDP协议。发送(客户请求发送数据)很简单,仅需QUdpSocket 的writeDatagram函数即可[cpp]view plaincopyvoidWidget::on_pushButton_clicked(){QUdpSocket*sender;sender=newQUdpSocket(this);QByteArraydatagram="helloworld!";sender->writeDatagram(datagram.data(),datagram.siz 阅读全文

posted @ 2013-07-24 16:45 Mingz2013 阅读(428) 评论(0) 推荐(0)

四十五、Qt网络(五)获取本机网络信息

摘要: 先看一下QList类[cpp]view plaincopyvoidMainWindow::on_pushButton_3_clicked(){QListlist_int;list_intlist_str;list_str is represented as an array of pointers to items of type T. If T is itself a pointer type or a basic type that is no larger than a pointer, or if T is one of Qt'sshared classes, then QLi 阅读全文

posted @ 2013-07-24 16:45 Mingz2013 阅读(302) 评论(0) 推荐(0)

qt4 tcp QTcpSocket QTcpServer 传输数据

摘要: 四十七、Qt网络(七)TCP(一)TCP即Transmission Control Protocol,传输控制协议。与UDP不同,它是面向连接和数据流的可靠传输协议。也就是说,它能使一台计算机上的数据无差错的发往网络上的其他计算机,所以当要传输大量数据时,我们选用TCP协议。TCP协议的程序使用的是客户端/服务器模式,在Qt中提供了QTcpSocket类来编写客户端程序,使用QTcpServer类编写服务器端程序。我们在服务器端进行端口的监听,一旦发现客户端的连接请求,就会发出newConnection()信号,我们可以关联这个信号到我们自己的槽函数,进行数据的发送。而在客户端,一旦有数据到来 阅读全文

posted @ 2013-07-24 16:44 Mingz2013 阅读(1397) 评论(0) 推荐(0)

qt4 tcp QTcpSocket QTcpServer 传输文件

摘要: tcpSender(客户端无QTcpServer)[cpp]view plaincopyprivate:QTcpSocket*tcpClient;QFile*localFile;//要发送的文件qint64totalBytes;//数据总大小qint64bytesWritten;//已经发送数据大小qint64bytesToWrite;//剩余数据大小qint64loadSize;//每次发送数据的大小QStringfileName;//保存文件路径QByteArrayoutBlock;//数据缓冲区,即存放每次要发送的数据privateslots:voidsend();//连接服务器void 阅读全文

posted @ 2013-07-24 16:43 Mingz2013 阅读(645) 评论(0) 推荐(0)

四十二、Qt网络(二)HTTP编程

摘要: HTTP即超文本传输协议,它是一种文件传输协议。这一节中我们将讲解如何利用HTTP从网站上下载文件。下载网页:[cpp]view plaincopyprivate:QNetworkAccessManager*manager;privateslots:voidreplyFinished(QNetworkReply*);[cpp]view plaincopyWidget::Widget(QWidget*parent):QWidget(parent),ui(newUi::Widget){ui->setupUi(this);manager=newQNetworkAccessManager(thi 阅读全文

posted @ 2013-07-24 16:41 Mingz2013 阅读(337) 评论(0) 推荐(0)

QT QHTTP操作入门

摘要: 最近由于要做一些关于QT方面的东西,需要访问网络,利用HTTP协议。刚刚好QT里实现了HTTP协议,即QHttp类,学习一下应该可以排上用场。但是QT Assistant上说:The class works asynchronously, so there are no blocking functions.也就是说这个类里面的所有的函数都是异步的,不会阻塞。当你向服务器发送了一个request后,函数立即返回,不等服务器返回response,也不管结果是成功还是失败。在发送请求后,会触发一系列事件:requestStarted(2)stateChanged(Connecting)stateC 阅读全文

posted @ 2013-07-24 16:34 Mingz2013 阅读(1184) 评论(0) 推荐(0)

QT笔记67:使用QWEBVIEW显示网页

摘要: 具体可参见qt下的例子-webkit\previewer通过webview->setHtml(string);即可加载显示网页信息另外通过QWebFrame* frame = webview->page()->mainFrame();即获取当前网页源码感觉QWebView使用很方便的,只不过QWebkit.dll大小为11.5m太夸张了. 阅读全文

posted @ 2013-07-24 16:32 Mingz2013 阅读(560) 评论(0) 推荐(0)

QT笔记69:使用QNETWORKACCESSMANAGER阻塞获取网路资源大小

摘要: qint64get_size(){QStringlink=url->text();std::coutheader(QNetworkRequest::ContentLengthHeader);deletereply;qint64size=var.toLongLong();std::cout<<size<<std::endl;returnsize;}发表于 2013-01-27 22:31CCSDU2009阅读(247)评论(0)编辑收藏引用所属分类:QT编程 阅读全文

posted @ 2013-07-24 16:31 Mingz2013 阅读(483) 评论(0) 推荐(0)

QT笔记70:保存文档为PDF格式

摘要: QPrinter printer(QPrinter::HighResolution); printer.setOutputFormat(QPrinter::PdfFormat); QString name = ui.line->text(); printer.setOutputFileName(pdf); ui.text->document()->print(&printer);很简单 不过貌似没有保存为doc文档的接口 阅读全文

posted @ 2013-07-24 16:30 Mingz2013 阅读(348) 评论(0) 推荐(0)

QT学习笔记-29.使用QT HTTP下载网络文件

摘要: QT附带的例子比较好:classHttpWindow:publicQDialog{Q_OBJECTpublic:HttpWindow(QWidget*parent=0);voidstartRequest(QUrlurl);privateslots:voiddownloadFile();voidcancelDownload();voidhttpFinished();voidhttpReadyRead();voidupdateDataReadProgress(qint64bytesRead,qint64totalBytes);voidenableDownloadButton();voidslotA 阅读全文

posted @ 2013-07-24 16:28 Mingz2013 阅读(982) 评论(0) 推荐(0)

Qt网络之HTTP编程(转)

摘要: 在Qt网络编程中,需要用到协议,即HTTP。它是超文本传输协议,它是一种文件传输协议。这一节中我们将讲解如何利用HTTP从网站上下载文件。使用的编程环境为Windows下基于Qt 4.6.3的Qt Creator 1.3.1一、最简单的实现。1.我们新建Qt4 Gui QApplication 。工程名为“http”,然后选中QtNetwork模块,最后Base class选择QWidget 。注意:如果新建工程时没有添加QtNetwork模块,那么就要手动在工程文件.pro中添加代码QT+=network表明我们使用了网络模块。2.我们在widget.ui文件中添加一个 Text Brows 阅读全文

posted @ 2013-07-24 16:26 Mingz2013 阅读(578) 评论(0) 推荐(1)

QT分析之网络编程(二)

摘要: 前面分析(一)之前没有看QT自带的文档,看了doc之后对QT的网络体系有一个大致的了解:QNatvieSocketEnginePrivate是OS相关的API封装,和QNativeSocketEngine一起构成具体平台SOCKET实现;QTcpSocket、QUdpSocket、QTcpServer构成底层的应用API;QSslSocket是SSL加密相关API;QHttp、QFtp构成高层次应该API;QNetworkAccessManager、QNetworkRequest、QNetworkReply是高度抽象的网络层。分析TCP的例子fortuneclient,运行起来按了[Get F 阅读全文

posted @ 2013-07-24 15:19 Mingz2013 阅读(786) 评论(0) 推荐(0)

QT分析之网络编程(三)

摘要: 3、读取信息在QAbstractSocket中,有两个成员是收发数据用的:readData()、writeData()readData()有两种读取方式:有缓冲和无缓冲方式。基本原理是一致的,简单其见只分析无缓冲直接读取方式。qint64 QAbstractSocket::readData(char *data, qint64 maxSize){ Q_D(QAbstractSocket); if (d->socketEngine && !d->socketEngine->isReadNotificationEnabled() && d-> 阅读全文

posted @ 2013-07-24 15:18 Mingz2013 阅读(498) 评论(0) 推荐(0)

QT分析之网络编程(一)

摘要: 首先对Windows下的网络编程总结一下:如果是服务器,其WinSDK调用分别为:WSAStartup() -> socket() -> htons() / htonl() -> bind() -> listen() -> accept() -> recv() / send() -> closesocket() -> WSACleanup()如果是客户端程序,其调用序列为:WSAStartup() -> socket() -> htons() / htonl() -> connect() -> recv() / send( 阅读全文

posted @ 2013-07-24 15:18 Mingz2013 阅读(398) 评论(0) 推荐(0)

QT分析之网络编程(四)

摘要: 前面分析中,一个问题一直没有解决:新生成的SOCKET是什么时候加入WSASelect()的?另外还有一个不是很大的问题,close流程。在QEventDispatcherWin32Private::doWsaAsyncSelect()中WSAAsyncSelect()设置一个断点,观察call stack:> QtCored4.dll!QEventDispatcherWin32Private::doWsaAsyncSelect(int socket=0x00001628) 行633 C++ QtCored4.dll!QEventDispatcherWin32::registerSock 阅读全文

posted @ 2013-07-24 15:17 Mingz2013 阅读(1208) 评论(0) 推荐(0)

QT分析之网络编程(五)

摘要: 今天分析QNetworkAccessManager、QNetworkRequest和QNetworkReply组成的高级抽象API序列。在动手之前,把doc中有关QNetworkAccessManager的介绍看了一遍。其使用方法大致是:QNetworkAccessManager * manager = new QNetworkAccessManager(this);QNetworkRequest request;request.setUrl(QUrl("http://www.baidu.com"));QNetworkReply * reply = manager-> 阅读全文

posted @ 2013-07-24 15:16 Mingz2013 阅读(226) 评论(0) 推荐(0)

QT分析之网络编程(六)

摘要: 在动手分析前,简单介绍一下HTTP协议。HTTP协议是一种为分布式,合作式,超媒体信息系统。它是一种通用的,无状态(stateless)的协议,除了应用于超文本传输外,它也可以应用于诸如名称服务器 和分布对象管理系统之类的系统,这可以通过扩展它的请求方法,错误代码和报头来实现。HTTP的一个特点是数据表现形式是可输入的和可协商性的, 这就允许系统能被建立而独立于数据传输。HTTP在1990年WWW全球信息刚刚起步的时候就得到了应用。该规范定义的协议用“HTTP/1.1”表示,是对RFC2608[33]的更新。HTTP协议是通过定义一序列的动作(协议文本中称为方法),来完成数据的传输通信。HTT 阅读全文

posted @ 2013-07-24 15:15 Mingz2013 阅读(375) 评论(0) 推荐(0)

QT分析之网络编程(七)

摘要: 接上面,进一步分析QNetworkAccessManager::createRequest()的实现。去除不重要的分支末节,看其调用的QNetworkReplyImplPrivate::setup()和QNetworkAccessManagerPrivate::findBackend()的代码。void QNetworkReplyImplPrivate::setup(QNetworkAccessManager::Operation op, const QNetworkRequest &req, QIODevice *data){ Q_Q(QNetworkReplyImpl); outg 阅读全文

posted @ 2013-07-24 15:14 Mingz2013 阅读(424) 评论(0) 推荐(0)

QT分析之网络编程(八)

摘要: 2010-02-05 13:35:48|分类:程序人生|字号订阅话说昨日走到QNetworkReplyImplPrivate::_q_startOperation(),勾引出QNetworkAccessHttpBackend::open(),今日接着欣赏QT之美丽。void QNetworkAccessHttpBackend::open(){ QUrl url = request().url(); bool encrypt = url.scheme().toLower() == QLatin1String("https"); setAttribute(QNetworkReq 阅读全文

posted @ 2013-07-24 15:13 Mingz2013 阅读(442) 评论(0) 推荐(0)

QT分析之HTTP请求

摘要: 分析QNetworkAccessManager的时候,有一段设定HTTP的请求包的Header,当时没进行深入的分析。void QHttpNetworkConnectionPrivate::prepareRequest(HttpMessagePair &messagePair){ QHttpNetworkRequest &request = messagePair.first; QHttpNetworkReply *reply = messagePair.second; // add missing fields for the request QByteArray value 阅读全文

posted @ 2013-07-24 15:11 Mingz2013 阅读(750) 评论(0) 推荐(0)

Qt利用JavaScript访问网页元素(百度博客下载例子)

摘要: Qt利用JavaScript访问网页元素(百度博客下载例子)本站所有文章由本站和原作者保留一切权力,仅在保留本版权信息、原文链接、原文作者的情况下允许转载,转载请勿删改原文内容, 并不得用于商业用途。 谢谢合作。原文链接:Qt利用JavaScript访问网页元素(百度博客下载例子)昨天的文章Qt利用DOM API访问网页元素介绍了怎样使用QtWebKit中的DOM支持来实现读取百度博客中的博客标题和上下文链接。要实现网页处理的功能,QtWebKit还提供了更灵活的方法,就是利用JavaScript来处理网页,使用JavaScript能更方便的扩展你的应用,首先它不需要重新编译程序,在网页内容变 阅读全文

posted @ 2013-07-24 15:01 Mingz2013 阅读(921) 评论(0) 推荐(0)

HTTP/FTP客户端开发库:libwww、libcurl、libfetch 以及更多

摘要: 网页抓取和ftp访问是目前很常见的一个应用需要,无论是搜索引擎的爬虫,分析程序,资源获取程序,WebService等等都是需要的,自己开发抓取库当然是最好了,不过开发需要时间和周期,使用现有的Open source程序是个更好的选择,一来别人已经写的很好了,就近考验,二来自己使用起来非常快速,三来自己还能够学习一下别人程序的优点。闲来无事,在网上浏览,就发现了这些好东西,特别抄来分享分享。主要就是libwww、libcurl、libfetch 这三个库,当然,还有一些其他很多更优秀库,文章后面会有简单的介绍。【libwww】官方网站:http://www.w3.org/Library/更多信息 阅读全文

posted @ 2013-07-24 14:57 Mingz2013 阅读(295) 评论(0) 推荐(0)

如何用spidermonkey在python里调用javascript代码

摘要: http://blog.csdn.net/yantang/article/details/3894329由于PyQt的安装比较麻烦,尝试了几次都没有成功,便决定用spidermonkey,但若直接从官网下载和安装,由于涉及到js引擎等的安装,比较麻烦,经过试验验证,如下方法可以快速达到目的:1.spidermonkey下载及安装1)下载 svn checkout http://python-spidermonkey.googlecode.com/svn/trunk spidermonkey2)编译安装python setup install3)如果编译时出现spidermonkey.pyx:8 阅读全文

posted @ 2013-07-24 10:48 Mingz2013 阅读(979) 评论(0) 推荐(0)

如何使用Add-on SDK开发一个自己的火狐扩展

摘要: 火狐开放了扩展的开发权限给程序员们,相信很多人都会希望自己做一些扩展来方便一些使用。我最近做一些项目也需要开发一个火狐扩展,方便收集自己需要的数据,因此研究了几天怎么开发,现在已经差不多完成了,就顺便腾出时间来做个教程给大家看看吧。------------------------------ 无可奈何的分割线 ------------------------------原先我是找了几个网上的教程,没有使用SDK来开发,备受折磨。这个可以看看我之前的文章:黄聪:一、如何创建一个状态栏扩展(火狐插件扩展开发教程)黄聪:二、如何通过URL获取其他网页源代码内容(火狐插件扩展开发教程)这两个简简单单的 阅读全文

posted @ 2013-07-24 10:47 Mingz2013 阅读(249) 评论(0) 推荐(0)

二、如何通过URL获取其他网页源代码内容(火狐插件扩展开发教程)

摘要: 为什么火狐没有一个独立的扩展开发工具啊!!!(估计有,但是我找不到……哪位大神知道的麻烦告诉我,谢谢啦)PS:以上问题已得到解决:http://www.cnblogs.com/huangcong/p/3155836.html不断的修改程序、压缩、修改后缀名、安装、重启……调试一次起码要10秒钟……好坑爹……算了,吐槽完毕,开始今天的笔记……------------------------------ 我万恶的分割线 -------------------------------------一、配置程序这里我就不再解释火狐扩展中每个文件的作用和功能了,想了解的请移步《黄聪:一、如何创建一个状态栏 阅读全文

posted @ 2013-07-24 10:45 Mingz2013 阅读(1634) 评论(0) 推荐(0)

使用Add-on SDK开发火狐扩展

摘要: 如果精通JS、HTML、CSS开发的朋友,直接看这个教程估计就能懂了-------------------------------------- 无可奈何的分割线 --------------------------------------为了帮助和我一样的初学者,我之后还会出一些教程,教大家一起学习怎么开发火狐的扩展作者:黄聪出处:http://www.cnblogs.com/huangcong/本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。 阅读全文

posted @ 2013-07-24 10:45 Mingz2013 阅读(150) 评论(0) 推荐(0)

Greasemonkey研究,通过GM_xmlhttpRequest获取远程URL的内容

摘要: 最近开发火狐,没有任何工具开发程序真的好痛苦,调试JS,只能先依赖Greasemonkey了,今天测试了一下用GM_xmlhttpRequest获取远程URL的内容。在此马克一下。// ==UserScript==// @name GetDZ// @namespace hcsem.com// @description 从新浪获取当前地址// @version 1// @run-at document-end// @require http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.... 阅读全文

posted @ 2013-07-24 10:44 Mingz2013 阅读(1289) 评论(0) 推荐(0)

一、如何创建一个状态栏扩展(火狐插件扩展开发教程)

摘要: 因为项目的需要,一些功能需要在火狐上面实现,一点也不了解火狐插件的开发,网上的中文资料也少得可怜,没办法,只好自己研究一下英文文档,慢慢开发了,在这里备份一下。学编程,当然是从Hellow,world开始啦。那么我们看看火狐插件的Hellow,world是怎么做的吧一、创建目录随便在一个文件夹里面,新建一个文件夹,名字随意,最好以自己的插件名称命名。我这里做演示,就命名为test在test文件夹下面创建一个文件夹,命名chrome。在test文件夹下面创建两个文件,分别为install.rdf、chrome.manifest在chrome文件夹下面创建一个文件夹,命名为content。在con 阅读全文

posted @ 2013-07-24 10:43 Mingz2013 阅读(258) 评论(0) 推荐(0)

Python语言编程学习资料(电子书+视频教程)下载汇总(转)

摘要: Python语言编程学习资料(电子书+视频教程)下载汇总:开发工具:Python语言集成开发环境 Wingware WingIDE Professional v3.2.12Python语言集成开发环境 Wingware WingIDE Professional v3.2.9.1高效Python/Django开发工具:JetBrains PyCharm v1.1.1 (附注册机)Python和Django开发工具:JetBrains PyCharm v1.1学习资料:Python 3程序开发指南 (第二版)中文PDF下载 Programming in Python 3, 2rd EditionP 阅读全文

posted @ 2013-07-24 10:34 Mingz2013 阅读(206) 评论(0) 推荐(0)

Python 字符串操作(string替换、删除、截取、复制、连接、比较、查找、包含、大小写转换、分割等)(转)

摘要: 去空格及特殊符号s.strip().lstrip().rstrip(',')复制字符串#strcpy(sStr1,sStr2)sStr1 = 'strcpy'sStr2 = sStr1sStr1 = 'strcpy2'print sStr2连接字符串#strcat(sStr1,sStr2)sStr1 = 'strcat'sStr2 = 'append'sStr1 += sStr2print sStr1查找字符#strchr(sStr1,sStr2)# < 0 为未找到sStr1 = 'strchr&# 阅读全文

posted @ 2013-07-24 10:33 Mingz2013 阅读(200) 评论(0) 推荐(0)

Python网站采集功能(多线程的采集、WDPYSPIDER类、pycurl)

摘要: Python1importurllib2urlItem =urllib.urlopen("http://www.baidu.com")3htmSource =urlItem.read()4urlItem.close()5printhtmSourcepycurlhttp://pycurl.sourceforge.net/download/http://pycurl.sourceforge.net/doc/curlobject.htmlPython01importpycurl02c =pycurl.Curl()03c.setopt(pycurl.URL, "http: 阅读全文

posted @ 2013-07-24 10:32 Mingz2013 阅读(694) 评论(0) 推荐(0)

Python查看文章中每个单词的出现频率(转)

摘要: NLTK中的FreqDist方法可以查看文章中每个单词出现的频率。作者:黄聪出处:http://www.cnblogs.com/huangcong/本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。 阅读全文

posted @ 2013-07-24 10:31 Mingz2013 阅读(411) 评论(0) 推荐(0)

Python+NLTK自然语言处理学习(三):计算机自动学习机制(转)

摘要: 本文演示使用NLTK让计算机学习如何通过名字识别性别。1、导入NLTK:import nltkfrom nltk.book import*2、定义学习方法def gender_features(word): return {'last_letter':word[-1]}3、导入学习的姓名-性别名单:from nltk.corpus import namesimport randomnames=([(name,'male') for name in names.words('male.txt')] + [(name,'female' 阅读全文

posted @ 2013-07-24 10:30 Mingz2013 阅读(222) 评论(0) 推荐(0)

使用 Python 登录网站

摘要: 对于大部分论坛,我们想要抓取其中的帖子分析,首先需要登录,否则无法查看。 这是因为 HTTP 协议是一个无状态(Stateless)的协议,服务器如何知道当前请求连接的用户是否已经登录了呢?有两种方式:在URI 中显式地使用 Session ID;利用 Cookie,大概过程是登录一个网站后会在本地保留一个 Cookie,当继续浏览这个网站的时候,浏览器会把 Cookie 连同地址请求一起发送过去。 Python 提供了相当丰富的模块,所以对于这种网络操作只要几句话就可以完成。我以登录 QZZN 论坛为例,事实上下面的程序几乎所有的 PHPWind 类型的论坛都是适用的。# -*- co... 阅读全文

posted @ 2013-07-24 10:29 Mingz2013 阅读(411) 评论(0) 推荐(0)

使用Python中的urlparse、urllib抓取和解析网页(一)(转)

摘要: 对搜索引擎、文件索引、文档转换、数据检索、站点备份或迁移等应用程序来说,经常用到对网页(即HTML文件)的解析处理。事实上,通过Python 语言提供的各种模块,我们无需借助Web服务器或者Web浏览器就能够解析和处理HTML文档。本文将详细介绍如何利用Python抓取和解析网页。首 先,我们介绍一个可以帮助简化打开位于本地和Web上的HTML文档的Python模块,然后,我们论述如何使用Python模块来迅速解析在HTML文 件中的数据,从而处理特定的内容,如链接、图像和Cookie等。最后,我们会给出一个规整HTML文件的格式标签的例子,通过这个例子您会发现使用 python处理HTM.. 阅读全文

posted @ 2013-07-24 10:28 Mingz2013 阅读(252) 评论(0) 推荐(0)

使用Python中的HTMLParser、cookielib抓取和解析网页、从HTML文档中提取链接、图像、文本、Cookies(二)(转)

摘要: 对搜索引擎、文件索引、文档转换、数据检索、站点备份或迁移等应用程序来说,经常用到对网页(即HTML文件)的解析处理。事实上,通过 Python语言提供的各种模块,我们无需借助Web服务器或者Web浏览器就能够解析和处理HTML文档。本文上篇中,我们介绍了一个可以帮助简化打开 位于本地和Web上的HTML文档的Python模块。在本文中,我们将论述如何使用Python模块来迅速解析在HTML文件中的数据,从而处理特定的 内容,如链接、图像和Cookie等。同时还会介绍如何规范HTML文件的格式标签。 一、从HTML文档中提取链接 Python语言还有一个非常有用的模块HTMLParser,... 阅读全文

posted @ 2013-07-24 10:27 Mingz2013 阅读(236) 评论(0) 推荐(0)

Scrapy 轻松定制网络爬虫

摘要: 网络爬虫(Web Crawler, Spider)就是一个在网络上乱爬的机器人。当然它通常并不是一个实体的机器人,因为网络本身也是虚拟的东西,所以这个“机器人”其实也就是一段程序,并且它也不是乱爬, 而是有一定目的的,并且在爬行的时候会搜集一些信息。例如 Google 就有一大堆爬虫会在 Internet 上搜集网页内容以及它们之间的链接等信息;又比如一些别有用心的爬虫会在 Internet 上搜集诸如 foo@bar.com 或者 foo [at] bar [dot] com 之类的东西。除此之外,还有一些定制的爬虫,专门针对某一个网站,例如前一阵子 JavaEye 的 Robbin 就写了 阅读全文

posted @ 2013-07-24 10:25 Mingz2013 阅读(180) 评论(0) 推荐(0)

python访问抓取网页常用命令(保存图片到本地、模拟POST、GET、中文编码问题)(转)

摘要: 简单的抓取网页:import urllib.request url="http://google.cn/" response=urllib.request.urlopen(url) #返回文件对象page=response.read() 直接将URL保存为本地文件:import urllib.request url="http://www.xxxx.com/1.jpg"urllib.request.urlretrieve(url,r"d:\temp\1.jpg")POST方式:import urllib.parse import ur 阅读全文

posted @ 2013-07-24 10:24 Mingz2013 阅读(243) 评论(0) 推荐(0)

Python实现Discuz论坛的自动POST登录发贴回帖(转)

摘要: #-*-coding:utf-8-*-import urllib2, urllib, cookielibimport reimport getpassimport sqlite3import randomimport time class Discuz: def__init__(self,user,pwd,args): self.username = user self.password = pwd self.args = args self.regex = { 'loginreg':'', ... 阅读全文

posted @ 2013-07-24 10:23 Mingz2013 阅读(1523) 评论(0) 推荐(0)

用python知道URL地址提取链接中的域名与端口

摘要: import urllib proto, rest = urllib.splittype("http://www.baidu.com/11/12.htm") host, rest = urllib.splithost(rest) print host host, port = urllib.splitport(host) if port is None: port =80 print port 阅读全文

posted @ 2013-07-24 10:21 Mingz2013 阅读(516) 评论(0) 推荐(0)

关于抓取网页,分析网页内容,模拟登陆网站的逻辑/流程和注意事项(转)

摘要: 抓取网页的一般逻辑和过程一般普通用户,用浏览器,打开某个URL地址,然后浏览器就可以显示出对应的页面的内容了。这个过程,如果用程序代码来实现,就可以被称为(用程序实现)抓取网页(的内容,并进行后期处理,提取所需信息等)对应的英文说法有,website crawl/scrape/data mining。而用来抓取网页的工具,也常被叫做 spider,crawler等。即,一般所谓的取网页内容,指的是通过程序(某种语言的程序代码,比如Python脚本语言,C#语言等)实现访问某个URL地址,然后获得其所返回的内容(HTML源码,Json格式的字符串等)。而对于这个抓取网页的过程,是有一套自己的逻辑 阅读全文

posted @ 2013-07-24 10:20 Mingz2013 阅读(264) 评论(0) 推荐(0)

[Python脚本]Admin Finder管理后台扫描工具

摘要: 本文转自:http://www.freebuf.com/tools/3503.html刚刚使用这个博客,人家别的博客有个代码框,里面是写的代码,俺还不知道咋使用呢,只能这样先凑合一下了#Created for coded32 and his teamopenfire Eliminated Some bugs from my last code shared here as Guest.#Greets To T.O.F and Indishell#Thanks friends for find bugs and give suggetions#cd direcory/to/code#direco 阅读全文

posted @ 2013-07-24 10:18 Mingz2013 阅读(312) 评论(0) 推荐(0)