1
Andy1999 2016-02-22 01:25:28 +08:00 via iPhone
python3 吧
|
2
em70 2016-02-22 01:26:42 +08:00
当然 python 啊,有什么可说的
|
4
random2case 2016-02-22 01:31:35 +08:00
scala 可以吗?不喜勿喷~~~
|
5
ahonn 2016-02-22 01:40:38 +08:00 via Android
Python Scrapy
|
6
em70 2016-02-22 02:11:46 +08:00
@kelos 大多数个人需求的爬虫需要的是灵活快捷,不需要那么高效健壮的程序,python10 行代码就能搞定的事情 java 要写 100 行,没有优势. 但如果是百度,谷歌那种企业级爬虫,用 java 和 C 会更有优势
|
7
ericls 2016-02-22 03:03:23 +08:00 via iPhone
python asyncio
|
8
lengjingxu 2016-02-22 06:08:01 +08:00 via Android
得看具体要爬多少量的东西以及内容格式还有你会什么计算机语言吧
|
9
vitovan 2016-02-22 06:45:23 +08:00
Python 的包很多,坑很少,个人感觉。
刚做了个: https://v2ex.com/t/258108 |
10
vietor 2016-02-22 08:05:50 +08:00 via Android
@random2case Python 最简单,容易部署。 scala 可以,用 sbt-assembly 打成一个包也便于部署,但加上 JDK 整体太大了,不值得。
|
11
cxbig 2016-02-22 08:17:37 +08:00
条件不复杂我一般用 ruby on rails + nokogiri
|
12
shulen 2016-02-22 08:19:30 +08:00
这个应该要看你会什么技术
|
13
bobbychen 2016-02-22 08:31:11 +08:00
语言都不是问题~~~看你自己熟悉什么吧
|
14
jugelizi 2016-02-22 08:56:25 +08:00
人生苦短 我用 Python
|
15
wizardoz 2016-02-22 09:31:33 +08:00
scrapy 不解释
|
16
cxshun 2016-02-22 09:36:31 +08:00
爬虫肯定 python 啊。
不考虑 java 是因为如果你要解析 html ,要引用 xpath ,自带的 dom 库是不大好用的,要引入 jdom , jdom 又要另外的东西支持,反正弄来弄去一大堆。这种工具类的东西用脚本语言写是最合适的。 |
17
fy 2016-02-22 09:40:23 +08:00
就 python 啊, http 库用 requests , HTML 复杂用 xpath ,简单直接用 re 正则模块,加个简单的面向过程的多线程,就上路了。
scrapy ?牛刀杀鸡 |
18
smalltalk 2016-02-22 09:52:50 +08:00
@cxshun maven+jsoup=搞定
java 的优势就是对于任何一个新库,只要观其大略,就可以快速上手。学 python 要记 api ,太痛苦了了。 |
19
tabris17 2016-02-22 10:12:36 +08:00
Phatomjs ,除了效率差点,功能没话说
|
20
IFoon 2016-02-22 10:12:51 +08:00
|
21
datapipeline 2016-02-22 10:17:19 +08:00
短平快: scrapy 加 mongodb
http://scrapy.org/ 可以先看看文档 |
22
wlsnx 2016-02-22 10:23:53 +08:00
scrapy 好用
|
23
wusuopuBUPT 2016-02-22 10:24:43 +08:00
scrapy 的一些例子,上个月刚用 scrapy 爬取了某直播站点的数据。
https://github.com/wusuopubupt/scrapy-examples |
24
wusuopuBUPT 2016-02-22 10:25:28 +08:00
从 geekan 的项目 fork 过来的: https://github.com/geekan/scrapy-examples
|
25
CharlesL 2016-02-22 10:36:20 +08:00
Java 的话 webmagic 挺好用,简单,支持分布式。
|
26
zacard 2016-02-22 10:51:37 +08:00
java 的话, jsoup ,也可以简单高效~
|
27
luban 2016-02-22 10:57:06 +08:00
只会 java ,简单的 jsoup 解析下 html 就好,复杂的 webmagic ,基本能满足所有需求,灵活性也非常高
|
28
slixurd 2016-02-22 11:01:41 +08:00
我也觉得拿 Java 写更方便,一个 JSoup ,简单爬虫的话什么框架都不用,自己写多线程,任务队列,简单轻松。最主要是对中文编码的处理实在太方便了,找到 HTML 的 charset ,然后反射对应的 Charset 就完事。
Python2 的中文。。。。。 |
29
slideclick 2016-02-22 11:16:18 +08:00
没写过,但是建议用 node,js 。第一你要爬虫肯定要能看懂页面里的 js 代码,第二其实你不用写爬虫,你可以用 chrome 扩展用 js 写。既然你需要懂 js 何必学习第二语言比如 python
|
30
cxshun 2016-02-22 11:28:58 +08:00
@smalltalk 那倒也是,虽然我是搞 java 的,但我个人感觉 python 写这些会方便很多。只是 python2 和 3 之间的兼容问题确实坑爹。
|
32
thursday 2016-02-22 11:50:32 +08:00
nodejs 优势也很大。 能直接运行页面 js 。 dom 很自然处理。天然异步处理能力强。
|
33
jedyu 2016-02-22 11:52:45 +08:00
安利一下 pyspider
|
34
vaynewang 2016-02-22 11:54:46 +08:00
javascript
|
35
woai110120130 2016-02-22 12:04:10 +08:00
写了个纯c的
|
36
cxshun 2016-02-22 12:50:56 +08:00
@smalltalk 更多的应该是 api 的问题, kotlin 这个我倒没去试过哈,有时间去试试。
其实算是有点偏向吧,写这种小工具总是喜欢用 python 来。虽然 java 自己更熟,但 python 写起来感觉会爽一点哈。 |
37
sohoer 2016-02-22 13:42:16 +08:00
JAVA 的 www.newcrawler.com
|
38
twlsoft 2016-02-22 14:38:42 +08:00
如果是用 node.js 的话也可以吧?
|
39
smalltalk 2016-02-22 14:43:53 +08:00
@cxshun 原来我测试 rest api 的时候,用 python ,后来改 dart 了( unicode 问题对迁移贡献很大)。小工具,一次性的东西,基本都用它。主要是有自动完成功能,编写、运行循环非常快速, api 也挺好。
|
40
microchang 2016-02-23 00:00:47 +08:00
@thursday 直接运行页面 js 有点过了吧。。。
|
42
slideclick 2016-02-23 10:55:05 +08:00
@microchang Phatomjs
|
43
microchang 2016-02-23 13:51:53 +08:00
@slideclick 这个我也玩过,不过他说的是 node 。毕竟客户端和服务端的运行环境还是不同的。
|
44
thursday 2016-02-23 14:17:51 +08:00
@microchang 我的意思是部分复杂代码可以匹配出来运行,直接拿到 js 里面的数据。并不是运行全部 js 。哪个是 Phatomjs
|
45
microchang 2016-02-23 15:24:54 +08:00
@thursday 感觉有点悬,虽然都是 js 虽然都是 v8 ,可能也只有部分纯逻辑不涉及到网络交互的代码可以直接运行。但是这部分代码如何筛选出来还是得人工干预,算下来得不偿失。
|
46
slideclick 2016-02-23 17:49:25 +08:00
@microchang 我和你一样,比较怀疑在服务器端可以解析抓下来的 js 的可能性。有人真搞过么?
|