5.18~5.21爬虫工作总结

这几天来一直在做爬虫的工作,除了因为开始因为不熟悉爬虫所以学的时候比较花时间之外,其他大多数时候都还是比较顺利,中间除了遇到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

猜你喜欢

转载自blog.csdn.net/harry_128/article/details/80406247