spider-lang :爬虫语言,专为网络爬虫设计

2015-09-16 21:11:11 +08:00
 vitovan

大家看看有没有用?

下面是代码(最好看图,有高亮):

;;Example 1: Hello World
;;V2EX 好像不需要验证码,此为模拟
GET http://v2ex.com/signin FOR img.captcha
  :T 登录失败,需要验证码
  :F POST http://v2ex.com/signin WITH u:vitovan p:password FOR a.fade[href=/notifications]
    :T GET http://v2ex.com/notifications FOR #Main>.box>div.cell AS JSON
    :F 登录失败,未知原因
;;Example 2: Code Block and Params
;;define a block
BLOCK v2ex-login $param
   POST http://v2ex.com/signin WITH u:vitovan p:password $param FOR a.fade[href=/notifications]
    :T GET http://v2ex.com/notifications FOR #Main>.box>div.cell AS JSON
    :F 登录失败,未知原因
;;call block
GET http://v2ex.com/signin FOR img.captcha AS IMG
  :T POST http://handle-captcha-service.com/img WITH @RESULT AS TEXT
    :T CALL v2ex-login c:@RESULT
  :F CALL v2ex-login

5004 次点击
所在节点    奇思妙想
25 条回复
vitovan
2015-09-17 13:02:40 +08:00
@est 像那种非静态 HTML 的页面,打算不做考虑,如果需要的话可以直接挂个 headless WebKit ,如: PhantomJS 。
est
2015-09-17 13:47:43 +08:00
@vitovan 都这个年代了,不考虑不行了。现在连视频弹幕都需要抓。
hobbyliu
2015-09-18 18:32:14 +08:00
求 gihub 连接
pythoner
2015-09-20 12:49:23 +08:00
其实如果是专为爬虫设计的话,还需要考虑的东西还有很多,比如:
1 ,需要 JS 渲染的页面怎么办
2 ,数据处理怎么办
3 ,爬虫任务调度怎么办
4 ,分布式怎么办
5 ,抓取频率 /速度怎么控制
6 ,验证码怎么处理
7 ,页面有更新或者 404 了怎么办
8 ,需要代理怎么办
9 ,爬虫状态监控怎么办
等等,够玩一年了。

把这一坨东西加在一起,就不单单是一个“爬虫语言”了,而变成了一个"爬虫框架"。
那么问题来了,写爬虫哪家强?
当然是我大 python 了!我大 python 里从来都不缺少轮子:古有 scrapy ,今有 pyspider ,方方面面都考虑到了。
上网搜“九评 python ”有真相
JhOOOn
2015-10-19 13:01:02 +08:00
@pythoner 笑死了

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

https://www.v2ex.com/t/221244

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

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

© 2021 V2EX