批量采集世纪佳缘会员图片及winhttp异步采集效率
原始出处: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异步采集效率的更多相关文章
- 世纪佳缘信息爬取存储到mysql,下载图片到本地,从数据库选取账号对其发送消息更新发信状态
利用这种方法,可以把所有会员信息存储下来,多线程发信息,10秒钟就可以对几百个会员完成发信了. 首先是筛选信息后爬取账号信息, #-*-coding:utf-8-*- import requests, ...
- python 爬取世纪佳缘,经过js渲染过的网页的爬取
#!/usr/bin/python #-*- coding:utf-8 -*- #爬取世纪佳缘 #这个网站是真的烦,刚开始的时候用scrapy框架写,但是因为刚接触框架,碰到js渲染的页面之后就没办法 ...
- python多线程爬取世纪佳缘女生资料并简单数据分析
一. 目标 作为一只万年单身狗,一直很好奇女生找对象的时候都在想啥呢,这事也不好意思直接问身边的女生,不然别人还以为你要跟她表白啥的,况且工科出身的自己本来接触的女生就少,即使是挨个问遍,样本量也 ...
- (转)Python网络爬虫实战:世纪佳缘爬取近6万条数据
又是一年双十一了,不知道从什么时候开始,双十一从“光棍节”变成了“双十一购物狂欢节”,最后一个属于单身狗的节日也成功被攻陷,成为了情侣们送礼物秀恩爱的节日. 翻着安静到死寂的聊天列表,我忽然惊醒,不行 ...
- 模仿世纪佳缘网站PC端的首页效果
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 2019 百合佳缘java面试笔试题 (含面试题解析)
本人5年开发经验.18年年底开始跑路找工作,在互联网寒冬下成功拿到阿里巴巴.今日头条.百合佳缘等公司offer,岗位是Java后端开发,因为发展原因最终选择去了百合佳缘,入职一年时间了,也成为了面 ...
- php正则获取html图片标签信息(采集图片)
php获取html图片标签信息(采集图片),实现图片采集及其他功能,带代码如下: <?php $str="<img src='./a.jpg'/>111111<img ...
- jquery 单行滚动、批量多行滚动、文字图片翻屏滚动效果代码
jquery单行滚动.批量多行滚动.文字图片翻屏滚动效果代码,需要的朋友可以参考下. 以下代码,运行后,需要刷新下,才能加载jquery,要不然看不到效果.一.单行滚动效果 <!DOCTYPE ...
- 最新 百合佳缘java校招面经 (含整理过的面试题大全)
从6月到10月,经过4个月努力和坚持,自己有幸拿到了网易雷火.京东.去哪儿. 百合佳缘等10家互联网公司的校招Offer,因为某些自身原因最终选择了 百合佳缘.6.7月主要是做系统复习.项目复盘.Le ...
随机推荐
- powershell脚本执行绕过powershell下脚本执行限制(cmd下执行)以及在cmd下隐藏脚本窗口
powershell脚本执行绕过powershell下脚本执行限制(cmd下执行) powershell脚本运行方式有两种,一种是powshell中运行,另一种是在cmd中(在某些情况下相当有用) p ...
- JS一些实用的方法
1.首次为变量赋值时务必使用var关键字 变量没有声明而直接赋值得话,默认会作为一个新的全局变量,要尽量避免使用全局变量. 2.使用===取代== ==和!=操作符会在需要的情况下自动转换数据类型.但 ...
- Java入门(三):变量和运算符
上次谈到了Java的基本数据类型,今天接着聊Java的变量.运算符. 一.变量 1.变量的分类 变量分为成员变量.局部变量和常量,其中成员变量又分为实例变量.类变量. 2.变量的定义 语法:变量类型( ...
- 【2018.04.27 C与C++基础】关于switch-case及if-else的效率问题
对于这个问题自己是比较清楚的,在分支比较多时,switch-case的效率肯定比if-else的要高许多,其原理类似于我们在优化某些程序时使用查表来代替算法计算一样. 如果想进一步深究的话,可以查看G ...
- February 18th, 2018 Week 8th Sunday
Don't cry for what is lost. Smile for what still remains. 别为失去的哭泣,为还留在你身边的一切微笑吧. I have been told th ...
- Fetch请求后台的数据
<style> #btn{ width: 50px; height: 50px; background-color: red; } #output{ width: 100px; heigh ...
- NGINX Load Balancing – TCP and UDP Load Balancer
This chapter describes how to use NGINX Plus and open source NGINX to proxy and load balance TCP and ...
- IE在开发工具启动的情况下(打开F12)时 JS才能执行
在开发一个项目时遇到一个bug:在360急速浏览器的兼容模式下并且是线上环境时js无法执行(360急速浏览器的兼容模式下测试环境就ok), 打开f12以后刷新就没问题了,查了一下网上说的IE6/7是没 ...
- SpringMVC实现国际化过程中所遇问题
前言:在利用SpringMVC实现国际化的过程中,看似简单,实则还是遇到了一些小问题,现在笔者对所遇问题总结如下. 注:笔者所用的编辑器为Intellij IEDA 14.1.7版本 1.国际化资源文 ...
- docker常用命令(自用)
docker container ls -f "status=exited" docker rm $(docker container ls -f "status=exi ...