作为销售管理,经常需要核对企业名称是否规范,查询校验企业统一信用代码,校验行业分类,判断企业规模,是否正确等等。因此,希望能有个自动化工具获取数据,并规范化后作为进一步数据分析的基础。
需要特别说明的是,X查查,XX宝,X眼查,都有VIP账户,或者专门的API查询,接口,收费也不贵,如果有大批量的需求,还是申请专门的接口,一来稳定,二来省事。经常走小门,在这里也得给大门打打广告,以下内容,主要探讨技术。
爬虫的基础知识网上一大堆,不多讲,提前需要准备的知识(打开对应的帮助教程)有:
- 一点点HTML,CSS, Javascript(大约看懂网页就行,又不用自己写网页)
- Python基础
- 爬虫的基本原理
- 对应的库的使用文档
- 最好在有点数据库的知识,这样比较方便操纵数据
其他不展开了,大概介绍下爬虫的原理。我们平时浏览网页的过程,可以分解成以下动作:
- 输入网址并登陆
- 服务器返回页面信息给浏览器
- 如果是静态页面,就是固定的一长串字符串,现在也没啥静态页面了吧。
- 如果是动态页面,返回得字符串会根据不同的输入返回不同的字符串。
- 网页浏览器会根据返回的页面信息,按照html, CSS和Javascript的语法渲染成我们看到的网页。
爬虫就是模拟人来操作上面这个动作。
主要是两个手段:
- 用Selenium库运行一个IE或者Chrome或者无头浏览器,然后查找定位自己需要的网页元素操作浏览器的动作。
- 用requests库发送请求,直接或者服务器返回的数据,然后获取想要的代码。
第一种方法比较慢,而且也许是我的代码写的不太好,总觉得不太稳定,此外,只能运行在桌面环境下。我以前实现过一个版本,有兴趣有时间再开一篇文章介绍。第二种方法,比较快,参数设置合理的化也比较稳定。这篇文章主要讲第二种。
用到的主要的库有: