爬虫挑战。。求支援

2016-03-31 19:07:06 +08:00
 gkiwi
栗子:
http://www.yinhang.com/licaichanpin_gRrgLT98.html

以前一直觉得爬虫的难度可能在 ip ,频次,模拟鼠标操作等等,从来不觉得解析 html 是问题,但是这次是真给跪了。

网页上的 数字和标点 都是图片生成的,而且每次请求图片都不一样。

第一次遇见这种,如果爬不了,多问一句,有没有这样子的开源库可以拿来做防爬虫。。
6744 次点击
所在节点    程序员
61 条回复
alexinit
2016-04-01 10:56:37 +08:00
mark
zhoutianmao
2016-04-01 11:26:11 +08:00
mark 一下吧。刚开始做爬虫。
icedx
2016-04-01 11:58:02 +08:00
本站监测到来自您这个 IP 地址不友好的访问行为。暂时对来自这个 IP 的访问请求进行了限制。如您对银率网的数据有合作意向,请提交如下申请,本站将据此决定是否解除限制或商谈合作方式:

只好写个本地的了
https://drive.google.com/file/d/0B3Y1POZM1XkEeTh6bFlXbDVIWkU/view
把图片和对应的 css 放到 test 目录里
然后调用 learn.py 里的函数
test('test'+os.sep+'584Gh.css','test'+os.sep+'584Gh.png')
第一个填 css 路径 第二个填图片路径
识别率应该是 90%
icedx
2016-04-01 12:02:24 +08:00
已提交 pr
leavic
2016-04-01 12:18:02 +08:00
我试了一下 scrapy shell ,直接 view content 完全和网站一样啊。
20L 说的禁用 js ,我觉得这都是写爬虫的基本第一步了吧,肯定不能让爬虫取解析 js 。

说白了,我真不知道楼主碰到了什么问题。
leavic
2016-04-01 12:20:59 +08:00
好吧,原来是几个基金信息那里有猫腻,研究一下。
herozzm
2016-04-01 12:21:29 +08:00
我看到和 20L , 34L 的一样,源代码中都是可以直接看到所有数字和图片,只是用 js 替换了一下,防止复制而已
ysmood
2016-04-01 12:23:55 +08:00
@ysmood 具体是哪部分数字没有,都有的吧?根本就不需要用 phantom 去渲染页面
herozzm
2016-04-01 12:24:23 +08:00
我忽略了部分数据, js 只是替换部分,头部表格内的数据依然是图片
herozzm
2016-04-01 12:44:55 +08:00
他的背景图片都做了干扰,但干扰的不太厉害,这和破解验证码一个道理了
shenghe
2016-04-01 13:29:15 +08:00
搞这玩意,浪费时间和金钱嘛,这里不是有一样的数据吗? http://xueqiu.com/S/FP7233387300
jswh
2016-04-01 13:48:08 +08:00
如果愿意花钱的话,可以参考人工打码解决方案,我觉得是最快的。
rale
2016-04-01 14:36:21 +08:00
期待楼主新的解决方案,看了帖子,有了很多思路,同时,假如返回的是矢量图片,那效果怎么样?
jalen
2016-04-01 15:40:27 +08:00
@shenghe 23333
sunwei0325
2016-04-02 21:51:54 +08:00
美团也是这样的, 金额都是数字图片, 太恶心了
zvDC
2016-04-02 22:13:05 +08:00
学习很多思路
gkiwi
2016-04-04 14:39:21 +08:00
我测试了 @icedx 给的代码,裸眼了几个结果,感觉都 ok ,其实主要是数字没问题就好了。谢!!!

@rale 可以考虑把矢量图转换为位图再处理。。不过不清楚矢量图文件格式是否有更简洁的途径。

@RangerWolf 只是临时性质的任务,已经搞定。如果是大任务量的爬虫,可以联系合作:)

@shenghe 算是个挑战吧。在其他网站确实都找到了数据,但是这个坑还得填啊!
icedx
2016-04-04 15:21:36 +08:00
我已经发了 PR 到 https://github.com/bugkiwi/ocr_yinhang 合并下在 Github 上展示吧~
RangerWolf
2016-04-04 16:49:22 +08:00
@gkiwi 恭喜楼主搞定! 其实我这边主要也是最近有类似的识别数字的任务,并且用的是机器学习的那一套(我只负责调用 lib 接口 呵呵) 并且准确率可能要 95%以上,想着你说不定正好需要 哈哈
gkiwi
2016-04-04 23:06:16 +08:00
@icedx ok~~

@RangerWolf 哈哈,可以分享出来,让我们学习学习:)

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://tanronggui.xyz/t/267702

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX