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中unittest模块做UT(单元测试)使用实例
Jun 12 Python
Python selenium 三种等待方式解读
Sep 15 Python
pygame 精灵的行走及二段跳的实现方法(必看篇)
Jul 10 Python
解决Scrapy安装错误:Microsoft Visual C++ 14.0 is required...
Oct 01 Python
Python实现桶排序与快速排序算法结合应用示例
Nov 22 Python
python中列表和元组的区别
Dec 18 Python
Python3.5实现的三级菜单功能示例
Mar 25 Python
django2笔记之路由path语法的实现
Jul 17 Python
python之pexpect实现自动交互的例子
Jul 25 Python
python如何实现单链表的反转
Feb 10 Python
Jupyter打开图形界面并画出正弦函数图像实例
Apr 24 Python
Python+OpenCV图像处理——实现轮廓发现
Oct 23 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自定义函数call_user_func和call_user_func_array详解
2011/07/14 PHP
解析dedeCMS验证码的实现代码
2013/06/07 PHP
zf框架的数据库追踪器使用示例
2014/03/13 PHP
php的declare控制符和ticks教程(附示例)
2014/03/21 PHP
详解 PHP加密解密字符串函数附源码下载
2015/12/18 PHP
php代码检查代理ip的有效性
2016/08/19 PHP
thinkphp jquery实现图片上传和预览效果
2020/07/22 PHP
Yii2 中实现单点登录的方法
2018/03/09 PHP
javascript读取RSS数据
2007/01/20 Javascript
js利用与或运算符优先级实现if else条件判断表达式
2010/04/15 Javascript
jQuery 1.5.1 发布,全面支持IE9 修复大量bug
2011/02/26 Javascript
js静态方法与实例方法分析
2011/07/04 Javascript
33个优秀的jQuery 教程分享(幻灯片、动画菜单)
2011/07/08 Javascript
使用JS读秒使用示例
2013/09/21 Javascript
重写document.write实现无阻塞加载js广告(补充)
2014/12/12 Javascript
JavaScript随机生成信用卡卡号的方法
2015/04/07 Javascript
jQuery使用模式窗口实现在主页面和子页面中互相传值的方法
2016/03/01 Javascript
必备的JS调试技巧汇总
2016/07/20 Javascript
JavaScript实现Fly Bird小游戏
2016/12/15 Javascript
Nodejs读取文件时相对路径的正确写法(使用fs模块)
2017/04/27 NodeJs
node.js中express模块创建服务器和http模块客户端发请求
2019/03/06 Javascript
[53:10]Secret vs Pain 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/20 DOTA
python网页请求urllib2模块简单封装代码
2014/02/07 Python
python2.6.6如何升级到python2.7.14
2018/04/08 Python
Python查找最长不包含重复字符的子字符串算法示例
2019/02/13 Python
django 使用 PIL 压缩图片的例子
2019/08/16 Python
Python如何实现在字符串里嵌入双引号或者单引号
2020/03/02 Python
详解Css3新特性应用之过渡与动画
2017/01/10 HTML / CSS
Raffaello Network德国:意大利拉斐尔时尚购物网
2019/05/01 全球购物
跟单文员的岗位职责
2013/11/14 职场文书
授权委托书格式模板
2014/04/03 职场文书
超市仓管员岗位职责
2014/04/07 职场文书
防灾减灾活动总结
2014/08/30 职场文书
房屋买卖协议书范本
2014/09/27 职场文书
大学生党员自我评价
2015/03/04 职场文书
《揠苗助长》教学反思
2016/02/20 职场文书