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的几条建议分享
Feb 10 Python
Django实现图片文字同时提交的方法
May 26 Python
教大家使用Python SqlAlchemy
Feb 12 Python
Python实现优先级队列结构的方法详解
Jun 02 Python
Python基于回溯法子集树模板解决旅行商问题(TSP)实例
Sep 05 Python
浅谈利用numpy对矩阵进行归一化处理的方法
Jul 11 Python
python2与python3的print及字符串格式化小结
Nov 30 Python
Python设计模式之观察者模式原理与用法详解
Jan 16 Python
解决python测试opencv时imread导致的错误问题
Jan 26 Python
原来我一直安装 Python 库的姿势都不对呀
Nov 11 Python
Python爬虫基于lxml解决数据编码乱码问题
Jul 31 Python
python中的列表和元组区别分析
Dec 30 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注入实例
2006/10/09 PHP
PHP 的ArrayAccess接口 像数组一样来访问你的PHP对象
2010/10/12 PHP
PHP spl_autoload_register实现自动加载研究
2011/12/06 PHP
PHP简单读取PDF页数的实现方法
2016/07/21 PHP
js中top/parent/frame概述及案例应用
2013/02/06 Javascript
纯js简单日历实现代码
2013/10/05 Javascript
js替代copy(示例代码)
2013/11/27 Javascript
nodejs中实现路由功能
2014/12/29 NodeJs
Javascript刷新窗口方法小结
2015/10/21 Javascript
JS弹出窗口插件zDialog简单用法示例
2016/06/12 Javascript
AngularJS Ajax详解及示例代码
2016/08/17 Javascript
vue.js入门教程之基础语法小结
2016/09/01 Javascript
js的三种继承方式详解
2017/01/21 Javascript
详解基于Vue-cli搭建的项目如何和后台交互
2018/06/29 Javascript
layui表格数据复选框回显设置方法
2019/09/13 Javascript
在vue中动态添加class类进行显示隐藏实例
2019/11/09 Javascript
零基础写python爬虫之抓取百度贴吧并存储到本地txt文件改进版
2014/11/06 Python
Pyhthon中使用compileall模块编译源文件为pyc文件
2015/04/28 Python
python 文件操作api(文件操作函数)
2016/08/28 Python
Python3.6日志Logging模块简单用法示例
2018/06/14 Python
pandas dataframe添加表格框线输出的方法
2019/02/08 Python
Python格式化字符串f-string概览(小结)
2019/06/18 Python
Python使用Pandas库常见操作详解
2020/01/16 Python
一文了解python 3 字符串格式化 F-string 用法
2020/03/04 Python
在家更换处方镜片:Lensabl
2019/05/01 全球购物
最新党员思想汇报
2014/01/01 职场文书
护理专科毕业生自荐书范文
2014/02/19 职场文书
同学会邀请函模板
2015/01/30 职场文书
2015年销售部工作总结范文
2015/04/27 职场文书
2015年科研工作总结范文
2015/05/13 职场文书
同事去世追悼词
2015/06/23 职场文书
财务会计个人原因辞职信
2019/06/21 职场文书
numpy数据类型dtype转换实现
2021/04/24 Python
如何解决php-fpm启动不了问题
2021/11/17 PHP
SSM项目使用拦截器实现登录验证功能
2022/01/22 Java/Android
Python之matplotlib绘制饼图
2022/04/13 Python