python爬虫中采集中遇到的问题整理
程序员文章站
2022-04-12 19:28:04
在爬虫的获取数据上,一直在讲一些爬取的方法,想必小伙伴们也学习了不少。在学习的过程中遇到了问题,大家也会一起交流解决,找出不懂和出错的地方。今天小编想就爬虫采集数据时遇到的问题进行一个整理,以及在遇到...
在爬虫的获取数据上,一直在讲一些爬取的方法,想必小伙伴们也学习了不少。在学习的过程中遇到了问题,大家也会一起交流解决,找出不懂和出错的地方。今天小编想就爬虫采集数据时遇到的问题进行一个整理,以及在遇到不同的问题时,我们应该想的是什么样的解决思路,具体内容如下分享给大家。
1、需要带着cookie信息访问
比如大多数的社交化软件,基本上都是需要用户登录之后,才能看到有价值的东西,其实很简单,我们可以使用python提供的cookielib模块,实现每次访问都带着源网站给的cookie信息去访问,这样只要我们成功模拟了登录,爬虫处于登录状态,那么我们就可以采集到登录用户看到的一切信息了。下面是使用cookie对httprequest()方法的修改:
ckjar = cookielib.mozillacookiejar() cookies = urllib2.httpcookieprocessor(ckjar) #定义cookies对象 def httprequest(url): ''''' @summary: 网络请求 ''' try: ret = none sockfile = none request = urllib2.request(url) request.add_header('user-agent', 'mozilla/4.0 (compatible; msie 6.0; windows nt 5.2; sv1; .net clr 1.1.4322)') request.add_header('pragma', 'no-cache') opener = urllib2.build_opener(cookies) #传递cookies对象 sockfile = opener.open(request) ret = sockfile.read() finally: if sockfile: sockfile.close() return ret
2、编码问题
网站目前最多的两种编码:utf-8,或者gbk,当我们采集回来源网站编码和我们数据库存储的编码不一致时,比如的编码使用的是gbk,而我们需要存储的是utf-8编码的数据,那么我们可以使用python中提供的encode()和decode()方法进行转换,比如:
content = content.decode('gbk', 'ignore') #将gbk编码转为unicode编码 content = content.encode('utf-8', 'ignore') #将unicode编码转为utf-8编码
到此这篇关于python爬虫中采集中遇到的问题整理的文章就介绍到这了,更多相关python爬虫入门之采集中遇到的问题内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
推荐阅读
-
自己编程中遇到的Python错误和解决方法汇总整理
-
Python中的Socket 与 ScoketServer 通信及遇到问题解决方法
-
解决python写入mysql中datetime类型遇到的问题
-
Python分布式进程中你会遇到的问题解析
-
解决python中遇到字典里key值为None的情况,取不出来的问题
-
Python中LOADDATAINFILE语句导入数据到MySQL遇到问题的解决方案分享
-
python_分布式进程中遇到的问题
-
jquery组件使用中遇到的问题整理及解决
-
解决Python 爬虫URL中存在中文或特殊符号无法请求的问题
-
自己编程中遇到的Python错误和解决方法汇总整理