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中如何获取类属性的列表
Dec 26 Python
python xlsxwriter库生成图表的应用示例
Mar 16 Python
利用Python写一个爬妹子的爬虫
Jun 08 Python
在cmder下安装ipython以及环境的搭建
Oct 19 Python
Python使用ctypes调用C/C++的方法
Jan 29 Python
Python assert语句的简单使用示例
Jul 28 Python
python使用pymongo与MongoDB基本交互操作示例
Apr 09 Python
Python configparser模块常用方法解析
May 22 Python
解析Tensorflow之MNIST的使用
Jun 30 Python
python 获取字典特定值对应的键的实现
Sep 29 Python
python 多线程中join()的作用
Oct 29 Python
python for循环赋值问题
Jun 03 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加MYSQL服务器
2006/10/09 PHP
一个PHP的ZIP压缩类分享
2014/05/04 PHP
php实现XSS安全过滤的方法
2015/07/29 PHP
PHP实现字符串的全排列详解
2019/04/24 PHP
雄兵连第三季海报曝光,艾妮熙德成主角,蔷薇新造型
2021/03/09 国漫
JS获取dom 对象 ajax操作 读写cookie函数
2009/11/18 Javascript
javascript instanceof 与typeof使用说明
2010/01/11 Javascript
jquery中选择块并改变属性值的方法
2013/07/31 Javascript
jQuery中的$.ajax()方法应用
2014/05/06 Javascript
new Date()问题在ie8下面的处理方法
2014/07/31 Javascript
js使用DOM操作实现简单留言板的方法
2015/04/10 Javascript
AngularJS基础 ng-csp 指令详解
2016/08/01 Javascript
Jquery表单验证失败后不提交的解决方法
2016/10/18 Javascript
Bootstrap Table使用方法解析
2016/10/19 Javascript
TypeScript入门-接口
2017/03/30 Javascript
JS实现图片预加载之无序预加载功能代码
2017/05/12 Javascript
layer.open 按钮的点击事件关闭方法
2018/08/17 Javascript
Vue.js组件通信之自定义事件详解
2019/10/19 Javascript
基于JavaScript实现表格隔行换色
2020/05/08 Javascript
解决vue addRoutes不生效问题
2020/08/04 Javascript
Vue自定义表单内容检查rules实例
2020/10/30 Javascript
使用webpack和rollup打包组件库的方法
2021/02/25 Javascript
[02:47]3.19DOTA2发布会 国服成长历程回顾
2014/03/25 DOTA
Python实现解析Bit Torrent种子文件内容的方法
2017/08/29 Python
python 不同方式读取文件速度不同的实例
2018/11/09 Python
Python 保存矩阵为Excel的实现方法
2019/01/28 Python
python读取大文件越来越慢的原因与解决
2019/08/08 Python
python机器学习实现决策树
2019/11/11 Python
Django 解决上传文件时,request.FILES为空的问题
2020/05/20 Python
naturalizer加拿大官网:美国娜然女鞋
2017/04/04 全球购物
护理学应聘自荐书范文
2014/02/05 职场文书
艺术学院毕业生自我评价
2014/03/02 职场文书
企业授权委托书范本
2014/09/22 职场文书
秋菊打官司观后感
2015/06/03 职场文书
干部培训简讯
2015/07/20 职场文书
Tomcat项目启动失败的原因和解决办法
2022/04/20 Servers