直接采集网页数据表格到csv

 

来自百度

工具准备:http://www.symental.com/sfw/RegTop.rar

需求:从网址http://tjsj.baidu.com/pages/jxyd/15/10/0fb71f220993665e799060b9e5f38b4d_0.html中获

首先我们的动作有以下几个:

1.由于是要获取匹配结果,那么用标记符-g,g表示get。

2.另外需要整理成一个表的形式,这样需要多加个参数t,t表示table。

3.因为是要导出为csv文件,所以需要以逗号分隔,这样在上面的参数t后面加个逗号。这样表达式头就是-gt,如果t后面不加任何字符那么默认为空

4.我们要操作的数据的来自于网络,这样需要以-w:标记,w表示web,冒号后面就可以直接写网址了。

5.产生的结果需要输出到一个文件中,我们这里定为“山东2000年迁出人口分布.csv”

6.这里是最重要的一步了,主要就是正则表达式,这也是我们工具的灵魂。关于正则表达式这里就无须赘述了,就算要讲这里也讲不完。根据查看网页源代码可以写成表达式:<tr><td>([^<]*?)</td><td>(\d*?)</td><td>(\d*?)</td><td>(\d*?)</td><td>(\d*?)</td><td>(\d*?)</td></tr>

7.上面的那个是标准的正则表达式,它将会有一个主匹配结果和n个子匹配结果,这里我们需要屏蔽主匹配结果,这样就用0表示,如果想显示主匹配结果就写作1,接下来的就是子匹配结果了,从0开始,上面一共捕获了6项内容,这样我们需要取得所有子匹配,这样就写作0,1,2,3,4,5(这里其实就是对应着表格的6列内容了,当然你可以调整它们的排列次序,也可以仅仅提取需要的列)。结合对主匹配的设置,这样我们的最后一个参数就为:0,0,1,2,3,4,5

8.终上所述,最后我们的完整参数就是:-gt, "-w:http://tjsj.baidu.com/pages/jxyd/15/10/0fb71f220993665e799060b9e5f38b4d_0.html" "山东2000年迁出人口分布.csv" "<tr><td>([^<]*?)</td><td>(\d*?)</td><td>(\d*?)</td><td>(\d*?)</td><td>(\d*?)</td><td>(\d*?)</td></tr>" 0,0,1,2,3,4,5

这样我们做成一个批处理文件,如下图:

双击批处理文件执行后得到一个csv文件:

上面csv文件的内容:




TAG:正则巅峰,正则巅峰测试工具,超强正则,超强正则应用,正则巅峰,正则王,正则测试工具,正则运用的极致,正则处理网页,正则处理网页数据,正则处理数据,正则处理字符,正则处理大量字符,正则得到数据,正则获取网页内容,正则中间件,正则调用软件,网页采集工具,网页采集牛逼工具,网页采集,超强正则表达式,超强正则表达式应用,正则表达式巅峰,正则表达式王,正则表达式测试工具,正则表达式运用的极致,正则表达式处理网页数据,正则表达式处理网页数据数据,正则表达式处理数据,正则表达式处理字符,正则表达式处理大量字符,正则表达式得到数据,正则表达式获取网页数据内容,正则表达式中间件,正则表达式调用软件,网页数据采集工具,网页数据采集牛逼工具,网页数据采集

posted @ 2013-05-27 10:03  Simple2013  阅读(1577)  评论(0)    收藏  举报