前言
经常看别人通过爬虫分析数据,很有意思,来了兴趣,就开始了爬虫之路。
爬虫
爬虫,即网络爬虫,大家可以理解为在网络上爬行的一直蜘蛛,互联网就比作一张大网,而爬虫便是在这张网上爬来爬去的蜘蛛咯,如果它遇到资源,那么它就会抓取下来。想抓取什么?这个由你来控制它咯。
爬虫的基本步骤
- 爬取
- 分析
- 存储
爬取
Requests 唯一的一个非转基因的 Python HTTP 库,人类可以安全享用。 Requests文档
- 获取常规的页面直接做简单使用 Requests 请求就可以了(爬取网易新闻),有时候需要加个 header 头(爬取豆瓣top250)
- 如果需要登陆,那就费点力气搞定下cookie,破解下验证码(知乎登陆)或者接入打码平台即可,麻烦的就自习研究下登陆时候的各种规则(百度账户登陆)
- 有的限制IP,那就更换IP(IP池)
- 如果实在是没法分析,我们还有下下策,可以使用无界面的浏览器(认识phantomJs),可以模拟浏览器的操作(selenuim的使用)
分析
-
分析页面就用 xpath 或者 css, 两个都很方便, 这两个搞不定的地方再写写正则好了。
-
有些数据是 ajax 请求后渲染到页面上的,那就直接找到这个接口地址去模拟请求就好了,然后再获取你想要的数据
存储
直接上数据库就好了,mongoDB,MySQL都可以
值得注意的一些问题
这几个爬虫的案例没有使用框架,所以有一些值得自己多注意的问题
- 请求的连接需要过滤,保持请求的url是可用
- 及时捕获异常,并记录原因到日志
- 异步处理
--EOF--
网友评论