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