python爬虫中采集中遇到的问题整理


Posted in Python onNovember 27, 2020

在爬虫的获取数据上,一直在讲一些爬取的方法,想必小伙伴们也学习了不少。在学习的过程中遇到了问题,大家也会一起交流解决,找出不懂和出错的地方。今天小编想就爬虫采集数据时遇到的问题进行一个整理,以及在遇到不同的问题时,我们应该想的是什么样的解决思路,具体内容如下分享给大家。

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,当我们采集回来源网站编码和我们数据库存储的编码不一致时,比如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编码

到此这篇关于python爬虫中采集中遇到的问题整理的文章就介绍到这了,更多相关python爬虫入门之采集中遇到的问题内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
python基础教程之常用运算符
Aug 29 Python
python实现向ppt文件里插入新幻灯片页面的方法
Apr 28 Python
浅析AST抽象语法树及Python代码实现
Jun 06 Python
Python内建模块struct实例详解
Feb 02 Python
Python中property函数用法实例分析
Jun 04 Python
python批量下载网站马拉松照片的完整步骤
Dec 05 Python
Django中使用haystack+whoosh实现搜索功能
Oct 08 Python
Python 读取 YUV(NV12) 视频文件实例
Dec 09 Python
Python处理PDF与CDF实例
Feb 26 Python
Python叠加矩形框图层2种方法及效果
Jun 18 Python
拿来就用!Python批量合并PDF的示例代码
Aug 10 Python
浅析Python的命名空间与作用域
Nov 25 Python
python 用opencv实现图像修复和图像金字塔
Nov 27 #Python
Python函数调用追踪实现代码
Nov 27 #Python
Numpy中np.max的用法及np.maximum区别
Nov 27 #Python
python 实现aes256加密
Nov 27 #Python
pandas使用函数批量处理数据(map、apply、applymap)
Nov 27 #Python
python3.7中安装paddleocr及paddlepaddle包的多种方法
Nov 27 #Python
Python基于template实现字符串替换
Nov 27 #Python
You might like
php中比较简单的导入phpmyadmin生成的sql文件的方法
2011/06/28 PHP
php结合ajax实现手机发红包的案例
2016/10/13 PHP
基于laravel Request的所有方法详解
2019/09/29 PHP
PHP实现简易用户登录系统
2020/07/10 PHP
javascript编程起步(第二课)
2007/01/10 Javascript
js身份证验证超强脚本
2008/10/26 Javascript
基于dom编程中 动态创建与删除元素的使用
2013/04/17 Javascript
js通过元素class名字获取元素集合的具体实现
2014/01/06 Javascript
jQuery处理图片加载失败的常用方法
2015/06/08 Javascript
Bootstrap 模态框(Modal)插件代码解析
2016/12/21 Javascript
浅谈Angular6的服务和依赖注入
2018/06/27 Javascript
JS 音频可视化插件Wavesurfer.js的使用教程
2018/10/31 Javascript
JS实现选项卡效果的代码实例
2019/05/20 Javascript
vue axios重复点击取消上一次请求封装的方法
2019/06/19 Javascript
使用typescript构建Vue应用的实现
2019/08/26 Javascript
python错误处理详解
2014/09/28 Python
python实现颜色rgb和hex相互转换的函数
2015/03/19 Python
python文件名和文件路径操作实例
2017/09/29 Python
python dataframe 输出结果整行显示的方法
2018/06/14 Python
Django框架中间件(Middleware)用法实例分析
2019/05/24 Python
Keras实现支持masking的Flatten层代码
2020/06/16 Python
如何用 Python 处理不平衡数据集
2021/01/04 Python
加拿大城市本地限时优惠:Buytopia.ca
2018/09/19 全球购物
新浪网技术部笔试题
2016/08/26 面试题
大学生演讲稿范文
2014/01/11 职场文书
货车司机岗位职责
2014/03/18 职场文书
弘扬民族精神演讲稿
2014/05/07 职场文书
小学生运动会报道稿
2014/09/12 职场文书
单位工作证明
2014/10/07 职场文书
社区党员群众路线教育实践活动心得体会
2014/11/03 职场文书
劳动争议和解协议书范本
2014/11/20 职场文书
2014年社区民政工作总结
2014/12/02 职场文书
靠谱的活动总结
2019/04/16 职场文书
python数据分析之用sklearn预测糖尿病
2021/04/22 Python
django如何自定义manage.py管理命令
2021/04/27 Python
vscode远程免密登入Linux服务器的配置方法
2022/06/28 Servers