vba 抓取php网页(大半年一下,,)

优采云 发布时间: 2022-04-06 05:12

  vba 抓取php网页(大半年一下,,)

  背景:首先声明,我不是专业的IT程序开发人员,而是VBA爱好者和EXCEL用户;我从事市场营销工作,会涉及到相当程度的数据分析、财务分析和市场分析;最早从EXCEL95开始接触VBA,被它的灵活性深深吸引;关于VBA的网页抓取,我在罐子上潜水了半年多,非常感谢几位大神的精彩分享。在此表示衷心的感谢,包括:liucqa 夏、尹子轩、xmyjk、kangatang、优采云、狼版、ldy版;尤其是liucqa大侠整理的网络爬虫教程,由浅入深,前所未有,后...(希望有人{:soso_e113:});

  因为是笔记本式的苹果系统,基本上是在虚拟机上运行Win8x64 + EXCEL2010;

  我发现在EH论坛上讨论网页抓取的兄弟(当然还有姐妹们),大部分都是在抓取特定的网页,基本上有证券信息,*敏*感*词*相关,在线资格审核数据,高考数据分数线查询,优采云tickets...等,因为是针对具体的网站,代码比较固定;前面提到过,我的工作是和市场营销相关的,所以我需要抓取网站 @网站 会收录多种来源,常见的有:搜索引擎(谷歌的网页搜索、论坛搜索、博客搜索) ,百度的网页搜索,新闻搜索...),行业论坛的数据抓取(针对特定的关键词,或特定的URL),新浪微博等。

  为了满足爬取不同网站内容的灵活配置,我基本使用数据字典和正则表达式处理;即把不同网站的抓取内容放到一个EXCEL表中,读入字典,通过字典完成对不同网站抓取内容的配置,获取到的内容字段的每一部分也以正则表达式参数的形式写入字典。

  爬取网页内容的方式,尽量使用XMLhttp方法[CreateObject("Msxml2.XMLHTTP.3.0")],确实快很多,但是一旦出现问题,调试还不够直观,所以也会辅助IE[CreateObject("InternetExplorer.Application")]的使用。界面比较直观。一旦数据采集出现问题,通过实际显示的网页就可以判断出了什么问题: 网络连接中断?捕获的数据不存在?需要验证码吗?登录失败?...

  IE方式确实慢了很多(我测了一下比XML快5-15倍左右),但是还有一个优点,就是比较简单,尤其是涉及到用户名、密码、登录、cookie的时候,等,程序处理更容易。

  解释了半天背景,我再回到本帖的主题!《新浪微博数据采集方法》

  坦白说,虽然我已经潜水了半年多,但是对于更换cookies或者referrer这种比较复杂的操作,我还是一头雾水。似乎 xmlhttp 无法更改 cookie(18/19/20 楼)。我看大部分jar都是用winhttp 5.1来实现的;

  在新浪微博上抓取数据,除了一些简单的搜索查询,其他任务都需要用户登录才能获取数据。

  在EH等一些论坛上,我也看到了一些关于新浪微博的登录方式,但是大部分都是用PHP、Java或者python编写的,而且还涉及到比较复杂的加密算法(RSA);而新浪微博的算法似乎在不断更新。解决新浪微博登录问题,基本上可以分为3种方式:

  1. 通过用户名和密码,破译加密算法实现登录(示例)

  2. 手动或网页模拟登录,获取cookie,通过设置cookie(xml或winhttp)登录(绕过复杂的加密算法)

  3.完全模拟登录获取数据(我目前用的比较笨的方法,但是如果数据查询太多,账号也会被新浪封号,所以需要几个不同的用户依次登录)

  在这里请教各位大神,如何更方便的实现1、2的登录和抓包方式?

  先谢谢大家了!!{:soso_e183:}

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线