原始出处:http://www.cnblogs.com/Charltsing/p/winhttpasyn.html

最近老有人问能不能绕过世纪佳缘的会员验证来采集图片,我测试了一下,发现是可以的。

同时也测试了winhttp异步采集的效率。(在vba里面使用winhttp开发速度快)

经过测试,在网站不忙的情况下,检索一万个会员大约只需要三分钟或者更少的时间。

下面简单说一下如何使用winhttp做并发采集:

1、在类模块里面建立winhttp的各种事件,用于处理error和response数据。建立一个bool变量指示该实例是否空闲。

2、在标准模块中,根据uid自动生成url,并建立一个索引变量,用于指示已经发送的网站URL的序号。

3、在标准模块中创建winhttp实例数组,用于并发。数量推荐不要超过1000,具体和网络及电脑配置有关。

4、在do while循环中监测winhttp实例数组,如果有空闲的即设置url启动request。

具体winhttp类模块中的事件写法,请自行百度。

技术交流请联系qq:564955427

附一个简单的winhttp类,vba使用

Dim WithEvents winhttp As WinHttpRequest

Private Sub WebGetRequest(URL As String)
Set winhttp = New WinHttpRequest
With winhttp
.Open "GET", URL, True
.send
End With
End Sub Private Sub winhttp_OnError(ByVal ErrorNumber As Long, ByVal ErrorDescription As String)
Debug.Print ErrorDescription '出错时候的错误描述
End Sub Private Sub winhttp_OnResponseFinished()
Debug.Print winhttp.responseText '数据加载完成
End Sub
Private Sub winhttp_OnResponseDataAvailable(Data() As Byte)
'有数据到达...
End Sub
Private Sub winhttp_OnResponseStart(ByVal Status As Long, ByVal ContentType As String)
'载入数据的事件,Status是状态,ContentType是头部消息
End Sub

批量采集世纪佳缘会员图片及winhttp异步采集效率的更多相关文章

  1. 世纪佳缘信息爬取存储到mysql,下载图片到本地,从数据库选取账号对其发送消息更新发信状态

    利用这种方法,可以把所有会员信息存储下来,多线程发信息,10秒钟就可以对几百个会员完成发信了. 首先是筛选信息后爬取账号信息, #-*-coding:utf-8-*- import requests, ...

  2. python 爬取世纪佳缘,经过js渲染过的网页的爬取

    #!/usr/bin/python #-*- coding:utf-8 -*- #爬取世纪佳缘 #这个网站是真的烦,刚开始的时候用scrapy框架写,但是因为刚接触框架,碰到js渲染的页面之后就没办法 ...

  3. python多线程爬取世纪佳缘女生资料并简单数据分析

    一. 目标 ​ 作为一只万年单身狗,一直很好奇女生找对象的时候都在想啥呢,这事也不好意思直接问身边的女生,不然别人还以为你要跟她表白啥的,况且工科出身的自己本来接触的女生就少,即使是挨个问遍,样本量也 ...

  4. (转)Python网络爬虫实战:世纪佳缘爬取近6万条数据

    又是一年双十一了,不知道从什么时候开始,双十一从“光棍节”变成了“双十一购物狂欢节”,最后一个属于单身狗的节日也成功被攻陷,成为了情侣们送礼物秀恩爱的节日. 翻着安静到死寂的聊天列表,我忽然惊醒,不行 ...

  5. 模仿世纪佳缘网站PC端的首页效果

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  6. 2019 百合佳缘java面试笔试题 (含面试题解析)

      本人5年开发经验.18年年底开始跑路找工作,在互联网寒冬下成功拿到阿里巴巴.今日头条.百合佳缘等公司offer,岗位是Java后端开发,因为发展原因最终选择去了百合佳缘,入职一年时间了,也成为了面 ...

  7. php正则获取html图片标签信息(采集图片)

    php获取html图片标签信息(采集图片),实现图片采集及其他功能,带代码如下: <?php $str="<img src='./a.jpg'/>111111<img ...

  8. jquery 单行滚动、批量多行滚动、文字图片翻屏滚动效果代码

    jquery单行滚动.批量多行滚动.文字图片翻屏滚动效果代码,需要的朋友可以参考下. 以下代码,运行后,需要刷新下,才能加载jquery,要不然看不到效果.一.单行滚动效果 <!DOCTYPE ...

  9. 最新 百合佳缘java校招面经 (含整理过的面试题大全)

    从6月到10月,经过4个月努力和坚持,自己有幸拿到了网易雷火.京东.去哪儿. 百合佳缘等10家互联网公司的校招Offer,因为某些自身原因最终选择了 百合佳缘.6.7月主要是做系统复习.项目复盘.Le ...

随机推荐

  1. Foreach用法

    循环语句是编程的基本语句,在C#中除了沿用C语言的循环语句外,还提供了foreach语句来实现循环.那么我要说的就是,在循环操作中尽量使用foreach语句来实现.   为了来更好地说明为什么要提倡使 ...

  2. SQL Server 锁机制

    锁兼容性图: 一.锁的粒度: 比较需要注意的是RID/KEY.HoBT/PAGE这两对儿的区别,RID和HoBT是针对堆表的,即没有聚集索引的表. 二.锁的模式: 1.关于其中的S.U.X锁: 共享锁 ...

  3. c/c++ 线性栈

    c/c++ 线性栈 线性栈 下面的代码实现了以下功能 函数 功能描述 push 压入 pop 弹出 show_list 打印 clear 移动top指针到栈底 destroy 释放所有内存空间 seq ...

  4. Lua保留指定小数位数

    默认会四舍五入 比如:%0.2f 会四舍五入后,保留小数点后2位 print(string.format("%.1f",0.26)) ---会输出0.3,而不是0.2 Lua保留一 ...

  5. .svn文件夹特别大

    一个项目通过svn管理,迭代开发一年之后,.svn目录达到20G或更大,对于SSD硬盘来说是非常占用空间的,经过我的尝试,可以使用tortoiseSVN自带的cleanup为文件夹瘦身. 操作方法: ...

  6. echo 在shell及脚本中显示色彩及闪烁警告效果

    在shell脚本编写中,echo用于输出字符串等提示信息,当我们需要格外显示色彩及闪烁效果如下: 一.在执行shell中显示色彩: 语法格式: echo -e "\033[颜色1:颜色2m ...

  7. LeetCode算法题-Implement Stack Using Queues

    这是悦乐书的第193次更新,第198篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第54题(顺位题号是225).使用队列实现栈的以下操作: push(x) - 将元素x推 ...

  8. JDBC复习1

    1.什么是JDBC JDBC是java数据库连接技术的简称(Java DataBase Connectivity) jdbc是接口,jdbc驱动才是接口的实现,负责连接各种不同的数据库.jdbc的AP ...

  9. linux下last与lastb命令详解

    在linux系统中,last与lastb命令用来列出目前与过去登录系统的用户相关信息.指令英文原义: last, lastb - show listing of last logged in user ...

  10. 用于文本分类的多层注意力模型(Hierachical Attention Nerworks)

    论文来源:Hierarchical Attention Networks for Document Classification 1.概述 文本分类时NLP应用中最基本的任务,从之前的机器学习到现在基 ...