python爬虫中采集中遇到的问题整理
作者:小妮浅浅 时间:2022-10-17 03:32:23
在爬虫的获取数据上,一直在讲一些爬取的方法,想必小伙伴们也学习了不少。在学习的过程中遇到了问题,大家也会一起交流解决,找出不懂和出错的地方。今天小编想就爬虫采集数据时遇到的问题进行一个整理,以及在遇到不同的问题时,我们应该想的是什么样的解决思路,具体内容如下分享给大家。
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编码
来源:https://www.py.cn/jishu/jichu/21350.html
标签:python爬虫,采集
0
投稿
猜你喜欢
.Net Core 配置文件读取IOptions,IOptionsMonitor,IOptionsSnapshot
2024-06-05 09:31:28
PHP 简单日历实现代码
2023-07-01 12:00:01
Sql Server中的视图介绍
2024-01-14 14:31:22
golang容易导致内存泄漏的6种情况汇总
2024-04-25 13:20:17
Python 十个字典用法使用技巧归纳
2023-10-14 16:52:54
Ubuntu下mysql与mysql workbench安装教程
2024-01-14 23:08:40
python matplotlib绘图实现删除重复冗余图例的操作
2023-11-02 22:36:44
Python Matplotlib通过plt.subplots创建子绘图
2022-06-03 08:23:16
JavaScrpt的面向对象全面解析
2024-04-23 09:20:40
Python数据分析之如何利用pandas查询数据示例代码
2023-05-19 09:07:59
django rest framework使用django-filter用法
2023-03-06 01:56:06
PyQt5实现QLineEdit添加clicked信号的方法
2021-02-08 18:24:02
Python判断两个list是否是父子集关系的实例
2021-08-17 07:16:18
解决bootstrap中使用modal加载kindeditor时弹出层文本框不能输入的问题
2024-04-16 09:26:21
ASP:判断访问是否来自搜索引擎的函数
2008-03-12 11:39:00
python GUI库图形界面开发之PyQt5中QMainWindow, QWidget以及QDialog的区别和选择
2022-04-22 01:39:50
python基于itchat模块实现微信防撤回
2022-03-15 01:41:42
ubuntu下在docker中安装mysql5.6 的方法
2024-01-23 08:35:30
JS forEach跳出循环2种实现方法
2024-04-29 13:19:28
python绘制高斯曲线
2023-01-06 06:48:33