有的网站没有API接口,如果要想抓取数据的话就必须解析HTML自己提取内容了。
一般来说我会直接遍历,找到特定的标签(或者字符),然后再自己提取内容。如果标签比较多的话就觉得有点烦,毕竟写起来自己也麻烦。所以想问一下有没有什么更好的方法(或者是那种脑洞大开的方法)?
一般来说我会直接遍历,找到特定的标签(或者字符),然后再自己提取内容。如果标签比较多的话就觉得有点烦,毕竟写起来自己也麻烦。所以想问一下有没有什么更好的方法(或者是那种脑洞大开的方法)?
1
ZzFoo Sep 8, 2014 用Xpath吧
|
2
mhycy Sep 8, 2014 正则表达式
|
5
paulw54jrn Sep 8, 2014 xpath, xquery , xslt 都可以~
|
6
mthli OP @paulw54jrn 嗯嗯,thx~
|
7
Automan Sep 8, 2014 有很多HTML DOM parser,用起来比正则方便多了。。
|
9
paulw54jrn Sep 8, 2014
beautifulSoup 挺方便的~
|
10
mthli OP @paulw54jrn 嗯,收下了。不过我是打算用Java。以后写Python的时候再用。
|
13
ericls Sep 8, 2014 pyquery
|
14
scusjs Sep 8, 2014 jsoup
|
15
icanfork Sep 8, 2014 via Android 什么语言好像都有**query之类的库。
|
16
tinyhill Sep 8, 2014 node + jquery
|
18
neverno Sep 8, 2014 beautifulsoup
|
19
baka Sep 8, 2014 via iPhone 在用beautifulsoup之前一直都是粗暴split的
|
21
ccbikai PRO |
22
wwttc Sep 8, 2014 正则,beautifulsoup,xpath,都可以。最方便的还是xpath
|
23
ceclinux Sep 8, 2014 nodejs可以用jsdom
|
24
refresh Sep 8, 2014 node.js + cherrio,jsdom太重了
|
25
dofaith09 Sep 8, 2014 beautifulSoup
|
26
Comdex Sep 8, 2014 via Android goquery
|
27
lightening Sep 8, 2014 Ruby 的话就用 Nokogiri (鋸).
|
28
cxshun Sep 8, 2014 xpath是最好的方案,正则的话就太麻烦了。但遇到不规范的html时,这也比较杯具了,只能先处理一下再用xpath。
|
29
txlty Sep 8, 2014 那个。。难道说拆数组,很土很落后?
|
31
scola Sep 9, 2014 python + lxml
|
32
RangerWolf Sep 9, 2014 了解到有些比价软件的页面解析用的是正则~ 不过个人一直是Java + JSoup。 再加上xpath的话,不知道哪个效率更高一点~
|
33
djyde Sep 9, 2014 |
34
ZzFoo Sep 9, 2014
对了,配合火狐的Xpath Checker插件,可以检查你的表达式选取到的结果
|
35
binux Sep 9, 2014 [如何从 WEB 页面中提取信息](http://blog.binux.me/2014/07/how-to-extract-data-from-web/)
|
36
miao Sep 9, 2014 如果是抓取到本地(win环境) 请用火车头
|
38
Yannis1990 Sep 9, 2014
pyquery +1
|
39
master Sep 9, 2014 node.js + cherrio
|
40
bigtan Sep 9, 2014
bs4
|
41
imn1 Sep 9, 2014 网页数量很多的话(过万),建议还是尽可能用正则吧
|
43
jsq2627 Sep 9, 2014
正则高效,xquery 容易
|
44
jedihy Sep 9, 2014 via iPhone 最好正则,其它库会根据html构造一棵dom树,效率极低。这些厚重的库并不是用来做这种简单的html抓取
|
46
mucid Sep 10, 2014
xpath,不要用正则
|