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使用multiprocessing模块实现带回调函数的异步调用方法
Apr 18 Python
windows下python安装paramiko模块和pycrypto模块(简单三步)
Jul 06 Python
Python 模拟登陆的两种实现方法
Aug 10 Python
Python实现矩阵转置的方法分析
Nov 24 Python
Django自定义用户认证示例详解
Mar 14 Python
django框架面向对象ORM模型继承用法实例分析
Jul 29 Python
python 字典 setdefault()和get()方法比较详解
Aug 07 Python
python中enumerate() 与zip()函数的使用比较实例分析
Sep 03 Python
基于pytorch 预训练的词向量用法详解
Jan 06 Python
pyqt5中动画的使用详解
Apr 01 Python
Python Numpy中数据的常用保存与读取方法
Apr 01 Python
新手必备Python开发环境搭建教程
May 28 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 Ajax实现页面无刷新发表评论
2007/01/02 PHP
php获取一定范围内取N个不重复的随机数
2016/05/28 PHP
PHP+mysql实现的三级联动菜单功能示例
2019/02/15 PHP
Linux下安装Memcached服务器和客户端与PHP使用示例
2019/04/15 PHP
php输出文字乱码的解决方法
2019/10/04 PHP
javascript 实现父窗口引用弹出窗口的值的脚本
2007/08/07 Javascript
学习javascript,实现插入排序实现代码
2011/07/31 Javascript
js中更短的 Array 类型转换
2011/10/30 Javascript
在myeclipse中如何加入jquery代码提示功能
2014/06/03 Javascript
Jquery使用css方法改变样式实例
2015/05/18 Javascript
jQuery实现监控页面所有ajax请求的方法
2015/12/10 Javascript
用canvas 实现个图片三角化(LOW POLY)效果
2016/02/18 Javascript
JS中innerHTML和pasteHTML的区别实例分析
2016/06/22 Javascript
vue-resourse将json数据输出实例
2017/03/08 Javascript
canvas压缩图片转换成base64格式输出文件流
2017/03/09 Javascript
js手机号4位显示空格,银行卡每4位显示空格效果
2017/03/23 Javascript
jQuery 控制文本框自动缩小字体填充
2017/06/16 jQuery
Node.JS中快速扫描端口并发现局域网内的Web服务器地址(80)
2017/09/18 Javascript
Express本地测试HTTPS的示例代码
2018/06/06 Javascript
vue2.0实现的tab标签切换效果(内容可自定义)示例
2019/02/11 Javascript
微信小程序实现bindtap等事件传参
2019/04/08 Javascript
基于Node.js搭建hexo博客过程详解
2019/06/25 Javascript
python查询mysql中文乱码问题
2014/11/09 Python
python如何通过twisted实现数据库异步插入
2018/03/20 Python
Linux CentOS Python开发环境搭建教程
2018/11/28 Python
python多环境切换及pyenv使用过程详解
2019/09/27 Python
如何利用Python识别图片中的文字
2020/05/31 Python
解决Keras TensorFlow 混编中 trainable=False设置无效问题
2020/06/28 Python
Python使用struct处理二进制(pack和unpack用法)
2020/11/12 Python
日本民宿预约平台:STAY JAPAN
2017/07/01 全球购物
EJB包括(SessionBean,EntityBean)说出他们的生命周期,及如何管理事务的?
2013/02/17 面试题
销售人员求职信
2014/07/22 职场文书
php字符串倒叙
2021/04/01 PHP
python tkinter模块的简单使用
2021/04/07 Python
HTML+css盒子模型案例(圆,半圆等)“border-radius” 简单易上手
2021/05/10 HTML / CSS
浅谈MySql update会锁定哪些范围的数据
2022/06/25 MySQL