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中getattr函数使用方法 getattr实现工厂模式
Jan 20 Python
跟老齐学Python之不要红头文件(2)
Sep 28 Python
pygame学习笔记(3):运动速率、时间、事件、文字
Apr 15 Python
Python中字典和集合学习小结
Jul 07 Python
jupyter notebook引用from pyecharts.charts import Bar运行报错
Apr 23 Python
Python模拟简单电梯调度算法示例
Aug 20 Python
Python使用pyautogui模块实现自动化鼠标和键盘操作示例
Sep 04 Python
pycharm debug功能实现跳到循环末尾的方法
Nov 29 Python
Python+OpenCV图片局部区域像素值处理改进版详解
Jan 23 Python
Tensorflow实现多GPU并行方式
Feb 03 Python
python基础入门之字典和集合
Jun 13 Python
浅谈Python协程asyncio
Jun 20 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
一个很方便的 XML 类!!原创的噢
2006/10/09 PHP
PHP文件下载类
2006/12/06 PHP
PHP取整数函数常用的四种方法小结
2012/07/05 PHP
YII模块实现绑定二级域名的方法
2014/07/09 PHP
php单链表实现代码分享
2016/07/04 PHP
微信自定义菜单的创建/查询/取消php示例代码
2016/08/05 PHP
php获取服务器操作系统相关信息的方法
2016/10/08 PHP
laravel-admin解决表单select联动时,编辑默认没选上的问题
2019/09/30 PHP
兼容Mozilla必须知道的知识。
2007/01/09 Javascript
20款效果非常棒的 jQuery 插件小结分享
2011/11/18 Javascript
jQuery实现预加载图片的方法
2015/03/17 Javascript
jQuery焦点图插件SaySlide
2015/12/21 Javascript
jQuery基于cookie实现的购物车实例分析
2015/12/24 Javascript
JavaScript判断图片是否已经加载完毕的方法汇总
2016/02/05 Javascript
jQuery中使用animate自定义动画的方法
2016/05/29 Javascript
BootStrap下jQuery自动完成的样式调整
2016/05/30 Javascript
浅谈String.valueOf()方法的使用
2016/06/06 Javascript
webpack常用配置项配置文件介绍
2016/11/07 Javascript
JS 全屏和退出全屏详解及实例代码
2016/11/07 Javascript
简单实现js选项卡切换效果
2017/02/09 Javascript
javascript设计模式之单体模式学习笔记
2017/02/15 Javascript
ES6新特性之模块Module用法详解
2017/04/01 Javascript
webpack实现热更新(实施同步刷新)
2017/07/28 Javascript
vue与bootstrap实现时间选择器的示例代码
2017/08/26 Javascript
jQuery实现的文字逐行向上间歇滚动效果示例
2017/09/06 jQuery
关于Mac下安装nodejs、npm和cnpm的教程
2018/04/11 NodeJs
封装微信小程序http拦截器过程解析
2019/08/13 Javascript
在Python中使用CasperJS获取JS渲染生成的HTML内容的教程
2015/04/09 Python
Python错误提示:[Errno 24] Too many open files的分析与解决
2017/02/16 Python
pandas通过索引进行排序的示例
2018/11/16 Python
意大利运动服减价商店:ScontoSport
2020/03/10 全球购物
大学生志愿者感言
2014/01/15 职场文书
大班开学家长寄语
2014/04/04 职场文书
《棉鞋里的阳光》教学反思
2014/04/24 职场文书
竞聘演讲稿怎么写
2014/08/28 职场文书
NASA 机智号火星直升机拍到了毅力号设备碎片
2022/04/29 数码科技