爬虫数据采集

优采云 发布时间: 2020-08-27 20:58

  爬虫数据采集

  如果你处理的页面大量使用了js或则存在验证码 处理过程就比较麻烦了 不过selenium依然可以解决你大部分需求。

  0x011数据清洗

  因为种种缘由,我们获得的数据和期望中的总有一定的差异,这一部分的任务就是去除异常数据将其转换为便于处理的方式。

  数据的异常主要包括:数据格式异常和数据内容异常。

  你须要的数据可能储存于一个PDF、word、jpg格式的文件中,将它们转换成文本之后提取相应的信息是数据清洗工作的一部分。对这部份我们可以使用Python的Pillow、Tesseract、NumPy来进行相关的处理,当然借助第三方插口也是个不错的主意。

  另外,因为网页发布者的疏漏,网页上有部份数据和其他页面呈现不同,但你可能把这部份数据也爬取出来。这时你须要进行一定的处理将数据格式进行统一。

  0x100反爬虫

  这部份是爬虫中最有意思的部份,你须要与对方斗智斗勇,很可能你还没有想好如何绕开他的机制,对方又对反爬机制进行了更新。97年eBay和Bidder’s Edge之间的爬虫与反爬虫策略为后来的数据采集器和运维工程师提供了不少示例,但现在html的迅速发展,似乎对双方也有不小的提示。

  目前常见的反爬虫机制主要有如下几种:

  1.验证码

  从最基础的字符辨识验证码,到后来文字验证码,表达式验证码,滑动验证码。虽然层次多样,但处理机制大约相同,最基础的应用一些计算机图形学的知识就可以解决,深层次的借助机器学习训练相关辨识软件也能破解。12306的图片相关性验证码主要基于数据的深度拓扑,但是其对于人类本身也是一个不小的挑战,特别是在购票的时侯忽然使你选出右图中所有的Lan口,除非你对计算机硬件有所了解,不然选出正确答案确实不易。但是其也有一定的破解方案,仍然借助图象辨识结合用户反馈,似乎铁友有一段时间推出过一个大众活动,使用手机帮助进行图象标示,用青菜价获得了数百万标记好的数据,在后来的买票中只能选择相应的验证码。

  2.表单隐藏内容

  有些页面表单会向用户隐藏一些信息,如果你使用爬虫不加以分辨而填写了相应的数组,很可能会被对方直接判为一个爬虫,然后进行ip封禁。

  3.页面数据显示处理

  有些页面会将数据进行重排组成正确的数据。如果你在爬取过程中没有注意也只能得到一些毫无价值的内容。

  Emmm…

  本来想弄一个验证码识别的小程序 但发觉使用Python的Tesseract还须要自己标明一些数据 但原意是弄一个手动训练的辨识工具 所以暂时搁置 等之后有了相关看法再开始动工

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线