Python requests获取网页常用方法解析


Posted in Python onFebruary 20, 2020

这篇文章主要介绍了Python requests获取网页常用方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

主要记录使用 requests 模块获取网页源码的方法

class Crawler(object):
 """
 采集类
 """
 def __init__(self, base_url):
  self._base_url = base_url
  self._cookie = None
  self._getCookie()

 def _getCookie(self):
  """
  获取站点cookie
  :return:
  """
  try:
   res = requests.get(self._base_url)
   res.raise_for_status()
   # TODO response.cookies获取到的是一个cookiejar对象,需要使用requests.utils.dict_from_cookiejar来
   # TODO 将cookiejar对象转换为一个字典,这个字典后续使用的时候,在请求时直接传入就可以了,
   # 如 requests.get(url, cookies=cookies)
   self._cookie = requests.utils.dict_from_cookiejar(res.cookies)
   print self._cookie
  except Exception as e:
   print e

 def get_html_text(self, url, **kwargs):
  """
  爬取网页的通用代码框架
  :param url:
  :param method:
  :param kwargs:
  :return:
  """
  try:
   kwargs.setdefault('cookies', self._cookie)
   res = requests.get(url, **kwargs)
   # TODO 若响应状态码不是200, 抛出 HTTPError 异常
   res.raise_for_status()
   res.encoding = res.apparent_encoding
   # print requests.utils.dict_from_cookiejar(res.cookies)
   return res.text
  except Exception as e:
   print traceback.print_exc()
   return

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
简单使用Python自动生成文章
Dec 25 Python
举例详解Python中循环语句的嵌套使用
May 14 Python
Python中模块string.py详解
Mar 12 Python
pyenv命令管理多个Python版本
Mar 26 Python
Python实现简单过滤文本段的方法
May 24 Python
回调函数的意义以及python实现实例
Jun 20 Python
Python3中的列表,元组,字典,字符串相关知识小结
Nov 10 Python
解决使用pycharm提交代码时冲突之后文件丢失找回的方法
Aug 05 Python
python变量赋值方法(可变与不可变)
Jan 12 Python
python科学计算之numpy——ufunc函数用法
Nov 25 Python
刚学完怎么用Python实现定时任务,转头就跑去撩妹!
Jun 05 Python
Python使用海龟绘图实现贪吃蛇游戏
Jun 18 Python
pytorch实现保证每次运行使用的随机数都相同
Feb 20 #Python
Python argparse模块使用方法解析
Feb 20 #Python
浅谈pytorch torch.backends.cudnn设置作用
Feb 20 #Python
Python sqlite3查询操作过程解析
Feb 20 #Python
python利用datetime模块计算程序运行时间问题
Feb 20 #Python
pytorch数据预处理错误的解决
Feb 20 #Python
Python异常继承关系和自定义异常实现代码实例
Feb 20 #Python
You might like
PHP 可阅读随机字符串代码
2010/05/26 PHP
PHP常用header头定义代码示例汇总
2020/08/29 PHP
ECMAScript 基础知识
2007/06/29 Javascript
10个新的最有前途的JavaScript框架
2009/03/12 Javascript
JQuery 1.3.2以上版本中出现pareseerror错误的解决方法
2011/01/11 Javascript
js分解url参数(面向对象-极简主义法应用)
2012/08/09 Javascript
js生成随机数之random函数随机示例
2013/12/20 Javascript
jQuery实现的淡入淡出二级菜单效果代码
2015/09/15 Javascript
jQuery实现的分子运动小球碰撞效果
2016/01/27 Javascript
在javascript中创建对象的各种模式解析
2016/05/16 Javascript
jQuery使用中可能被XSS攻击的一些危险环节提醒
2016/05/24 Javascript
js替换字符串中所有指定的字符(实现代码)
2016/08/17 Javascript
前端框架学习总结之Angular、React与Vue的比较详解
2017/03/14 Javascript
js+html制作简单日历的方法
2017/06/27 Javascript
js实现方块上下左右移动效果
2017/08/17 Javascript
vue中echarts3.0自适应的方法
2018/02/26 Javascript
vue3.0 CLI - 2.6 - 组件的复用入门教程
2018/09/14 Javascript
微信小程序 子级页面返回父级并把子级参数带回父级实现方法
2019/08/22 Javascript
在Python中使用异步Socket编程性能测试
2014/06/25 Python
在类Unix系统上开始Python3编程入门
2015/08/20 Python
查看Django和flask版本的方法
2018/05/14 Python
Python3.4学习笔记之类型判断,异常处理,终止程序操作小结
2019/03/01 Python
Mac PyCharm中的.gitignore 安装设置教程
2020/04/16 Python
Python figure参数及subplot子图绘制代码
2020/04/18 Python
Python实现SMTP邮件发送
2020/06/16 Python
Python编写万花尺图案实例
2021/01/03 Python
德国的各种媒体在线商店:Thalia.de(书籍、电子书、玩具等)
2020/10/08 全球购物
2014年党员公开承诺书范文
2014/03/28 职场文书
经济担保书范文
2014/04/02 职场文书
加强作风建设演讲稿
2014/10/24 职场文书
软件项目经理岗位职责
2015/04/01 职场文书
校园歌手大赛主持词
2015/07/03 职场文书
感恩教师节主题班会
2015/08/12 职场文书
班组长如何制订适合本班组的工作计划?
2019/07/10 职场文书
Python编写可视化界面的全过程(Python+PyCharm+PyQt)
2021/05/17 Python