简单的爬虫

这几天来一直在做爬虫的工作,除了因为开始因为不熟悉爬虫所以学的时候比较花时间之外,其他大多数时候都还是比较顺利,中间除了遇到xpath的问题,其他就还好。

就我目前的理解而言爬虫总共是分为三个步骤。
1. 通过URL获取网页
2. 获取网页之后对网页进行解析
3. 将解析之后需要的内容存贮起来

获取网页

这一步因为是涉及到问url要东西,因此会面临反爬,编码格式,请求头以及cookie的问题。目前我遇到的反爬还只是很简单的,就是封ip,以及不返回也不关闭链接的方式。但是这两种方式目前都比较容易解决,可以使用爬虫,以及已有的header(推荐postman软件)设置异常捕捉等方式进行解决。另外编码问题,可以查看网页的charset 或者自己尝试,毕竟常用场景下不同的编码格式就那几种。

对网页进行解析

在这一步我遇到的问题是比较多的。
目前的我所知的解析主要有三种:Re,beautifulsoup以及Xpath。
正则是比较好用而且速度也不错很灵活,但是面临复杂任务的时候就很麻烦,这个时候我本来想用Xpath进行解决但是无奈不知道为什么lxml解析出网页返回是空,查了半天都没查到,问同事 同事也没遇到过,再加上时间比较紧,爬的内容不多 就最后选择了beautifulsoup进行网页的解析。总体来将BS很方便,但是。也很慢!

最后存贮

这一步我用的主要是json,因为内容不多,但是我觉得当内容比较多而且涉及到内容合并维护的情况,应该是要用数据库是更好的选择。

总结

对于上面的url获取网页以及解析,最好是用一个函数封装一个功能,在内存压力不大的情况下直接返回字典,这样的话方便对代码维护,以及使用多线程。

下面是okoo.com 和tzuqiu.com 的爬虫代码链接:https://github.com/kaiyu-tang/Little-niu/tree/master/Crawler

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值