这篇文章主要介绍了新手爬虫采集时容易碰到的问题有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。
1、编码问题。
网站目前最多的两种编码:utf-8,或者gbk,当我们采集回来源网站编码和我们数据库存储的编码不一致时,比如http://163.com的编码使用的是gbk,而我们需要存储的是utf-8编码的数据,那么我们可以使用Python中提供的encode()和decode()方法进行转换,比如:content = content.decode('gbk', 'ignore') #将gbk编码转为unicode编码。
content = content.encode('utf-8', 'ignore') #将unicode编码转为utf-8编码
中间出现了unicode编码,我们需要转为中间编码unicode,才能向gbk或者utf-8转换。
2、增量爬取。
增量爬行是爬虫不重复下载下载的内容。为了实现增量爬行,我们需要使用一个新的概念——网址池。网址池用于统一管理所有网址。我们通过网址池记录我们的python爬虫访问过哪些内容,以避免重复。网址池的用途也可以实现断点续爬等。断点续爬是让之前没有爬过的网址继续爬虫。
3、爬虫被禁止。
爬虫会给服务器带来很大的负载,所以很多服务器会限制爬虫,甚至禁用爬虫。众所周知,要构建合理的http访问头,比如user-agent域的值。但是,还有很多其他避免被禁止的问题,比如放慢爬虫的访问速度,让爬虫的访问路径与用户的访问路径一致,采用动态ip地址等等。
感谢你能够认真阅读完这篇文章,希望小编分享的“新手爬虫采集时容易碰到的问题有哪些”这篇文章对大家有帮助,同时也希望大家多多支持亿速云,关注亿速云行业资讯频道,更多相关知识等着你来学习!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。