采集数据其实大学有教,不过可能是研究生的课程,并且可能也不能算一门课,只是一项技术。
采集数据需要哪些技术
- http通信原理
- html/css/js
- 各种编码
- 一门语言
- 敏(YIN)捷(DANG)的思维
数据采集工具
很多人都会问我,”请问采集数据用什么工具好呢?”。这样的问题我都很难回答,例如抗日战争中解放军小米加步枪也能日军精良的装备对抗,你敢说小米加步枪是无敌的吗?工具只是把一些繁琐的操作简化了,但是解决问题是要抓到本质。本人使用的一些工具
- 火车头:基本能解决80%的采集问题
- Python以及各种库以及Shell:上面解决不了才用这个
- Httpwatch/Fiddler/开发者工具:抓包分析
- 一个能用文本工具(比如notepad++,UE等。windows的记事本不是能用的工具,谢谢。):简单的替换,检查数据正确性,转转编码等
- 能快速搭建起来的Web环境,数据有时候直接入本地库,更加方便,有时候采集一些接口是js调用的,那可以本地搭一个然后采集本地
采集数据小贴士
说的会比较简略,但是都是实战经验,希望能给一时卡壳的朋友一点帮助。
- \xXX,\uXXXXX这种都是javascript的转义,%XX是URL的编码,GBK和utf8编出来是不一样的(感谢zero大神指点)
- 能采集js的就不要去采集html
- 如果PC版本的页面很难分析,试试wap站或者移动站
- 遇到页面html不完整的网页用不了xpath,可以找找自动补全html的库,比如python的BeautifulSoup。C#的html parser
- 例如你要采集www.xxx.com的很多网页,可以从sitemap入口,具体方法可以查看根目录下的robots.txt,或者试试根目录下 的sitemap.xml,再不行就在google中搜索site:xxx.com filetype:xml或者inurl:xml。
- 使用火车头采集完保存文件的话,如果数据量大,千万别执行保存的步骤,直接用数据库工具(例如navicat)直接导出数据库。(时间可以差10000倍…)
- 网上的免费代理列表=付费的http代理列表<肉鸡<VPN<自己买VPS搭($$)=ADSL拨号
- 例如http://www.tyseoer.com/,你只想匹配www.tyseoer.com,怎么办?试试零宽断言。