注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

史天航 廊坊师范学院信息技术提高班十四期

 
 
 

日志

 
 

如何使用Excel制作一个简单的爬虫?  

2017-10-07 15:11:25|  分类: 计算机类 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

因为前些日子杀了一个程序员祭天, 导致程序员人手不足, 这不, 老衲让程序员们去校验当前数据的可靠性, 就被程序员一把怼回来:"时间紧任务急, 你要是不想影响排期, 就自己干吧~"

我去! 敢这么和产品经理说话!

老衲赶紧给程序员买个外卖盒饭压压惊.

如何使用Excel制作一个简单的爬虫? - 14期 史天航 - 史天航 廊坊师范学院信息技术提高班十四期

当前面临的局面是, 手里有几万条记录. 主要是旅游线路的信息. 但是有一些已经无效或者下架了. 我们需要知道这些已经无法售卖的线路, 在总数中的比例.

如何使用Excel制作一个简单的爬虫? - 14期 史天航 - 史天航 廊坊师范学院信息技术提高班十四期

方案1:

随便抽几百条, 然后每个链接点一下, 看一眼, 然后做个记录, 最后统一汇总一下就好啦.

嗯, 可行性很高. 先走这条路试试.

按下三星自杀式秒表. 双记一下单元格, 让url变成真正可点击的超链接. 点一下, 等5秒, 哦哦, 该线路目前正常, 在表格里面写个1表示正常(写0表示不正常), 看一下秒表, 总耗时25秒.

抽200条 = 5000秒. 加上休息的时间, 四舍五入就是7200秒. 很好, 两个小时而已.

老衲当然是否决啦! 两个小时就搞这么200条数据. 猪才会干.

方案2:

随便抽几百条, 然后让爬虫把基本信息爬回来, 然后用筛选或过滤, 一次性统计出badcase占比.

嗯, 爬虫怎么搞? 喂, 老贾, 你的爬虫系统借我用用~~ ( 老贾: 你有机器吗? 你有权限吗? 你会使用这个beautiful Soup框架吗? )

......沉思1分钟...................沉思3分钟.....................沉思10分钟......................睡30分钟...............

小样儿, 无非是欺负老衲硬盘空间小, 装不上开发环境嘛. 但老衲手里还有Excel呀.

如何使用Excel制作一个简单的爬虫? - 14期 史天航 - 史天航 廊坊师范学院信息技术提高班十四期

这个玩意儿不就是个现成的爬虫么?

来一行试试

如何使用Excel制作一个简单的爬虫? - 14期 史天航 - 史天航 廊坊师范学院信息技术提高班十四期

果然可以, 那就开工吧! (顺道擦擦睡觉时的口水)

  1. 先把数据简单整理一下, 起码汇成表格. 表格就随便起个名字吧, 叫"TableLvmamaSet"如何使用Excel制作一个简单的爬虫? - 14期 史天航 - 史天航 廊坊师范学院信息技术提高班十四期
  2. 打开"开发工具", 不会打开的请看老衲之前的相关Excel教程.如何使用Excel制作一个简单的爬虫? - 14期 史天航 - 史天航 廊坊师范学院信息技术提高班十四期
     
  3. 插入一个模块

     如何使用Excel制作一个简单的爬虫? - 14期 史天航 - 史天航 廊坊师范学院信息技术提高班十四期
  4.  写代码咯~~~~~不难 ,真的不骗你, 超简单的. 磕两只小龙虾就写好了

 

de style="BOX-SIZING: inherit; FONT-FAMILY: Menlo, Monaco, Consolas, 'Andale Mono', 'lucida console', 'Courier New', monospace;"  >Sub crawler()


Dim URL As String
Dim RowNum As Integer
Dim UrlList As Range
Dim DestiArea As Range

'先打开原始文件所在的文件, 获取源数据中的URL
Windows("驴妈妈商品抽样.xlsx").Activate
Range("TableLvmamaSet[url]").Select

'将获取到的URL列表暂存一下, 因为Excel很多操作会影响到"选择", 所以要暂存
Set UrlList = Selection

'再打开目标文件
Windows("工作簿1").Activate

'向目标文件写入
For Each Cell In UrlList
 
 '毎一条结果, 因为会有很多行, 所以只能每条结果独占一列
 URL = Cell.Text
 RowNum = Cell.Row
 Cells(1, RowNum).Value = URL
 
 Set DestiArea = Cells(2, RowNum)
 
    With ActiveSheet.QueryTables.Add(Connection:="URL;" & URL, Destination:=DestiArea)
        .Name = URL
        .FieldNames = True
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = True
        .RefreshOnFileOpen = False
        .BackgroundQuery = True
        .RefreshStyle = xlInsertDeleteCells
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = True
        .RefreshPeriod = 0
        .WebSelectionType = xlEntirePage
        .WebFormatting = xlWebFormattingNone
        .WebPreFormattedTextToColumns = True
        .WebConsecutiveDelimitersAsOne = True
        .WebSingleBlockTextImport = False
        .WebDisableDateRecognition = False
        .WebDisableRedirections = False
        .Refresh BackgroundQuery:=False
    End With

Next
End Sub
de>
de style="BOX-SIZING: inherit; FONT-FAMILY: Menlo, Monaco, Consolas, 'Andale Mono', 'lucida console', 'Courier New', monospace;"  >

跑起来, 喝杯咖啡, 20分钟后再看看~~


果然成功了. 每一列就是一个网页的内容. 的确有下架产品.

如何使用Excel制作一个简单的爬虫? - 14期 史天航 - 史天航 廊坊师范学院信息技术提高班十四期

 6.

de>

然后使用一下查找工具

如何使用Excel制作一个简单的爬虫? - 14期 史天航 - 史天航 廊坊师范学院信息技术提高班十四期

7. 于是:

 

 
 

 


 

 

  评论这张
 
阅读(11)| 评论(5)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017