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
  • asp之家 网络编程 m.aspxhome.com