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判断设备是否联网的方法
Jun 29 Python
python 获取键盘输入,同时有超时的功能示例
Nov 13 Python
python爬虫获取百度首页内容教学
Dec 23 Python
Python实现微信自动好友验证,自动回复,发送群聊链接方法
Feb 21 Python
PyQt5基本控件使用详解:单选按钮、复选框、下拉框
Aug 05 Python
pycharm下配置pyqt5的教程(anaconda虚拟环境下+tensorflow)
Mar 25 Python
python 生成任意形状的凸包图代码
Apr 16 Python
基于python模拟TCP3次握手连接及发送数据
Nov 06 Python
Python离线安装openpyxl模块的步骤
Mar 30 Python
Python实现打乒乓小游戏
Sep 25 Python
python字符串的一些常见实用操作
Apr 06 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脚本来实现WordPress中评论分页的功能
2015/12/10 PHP
PHP设计模式概论【概念、分类、原则等】
2020/05/01 PHP
用js统计用户下载网页所需时间的脚本
2008/10/15 Javascript
javascript function调用时的参数检测常用办法
2010/02/26 Javascript
javascript 判断数组是否已包含了某个元素的函数
2010/05/30 Javascript
再论Javascript下字符串连接的性能
2011/03/05 Javascript
jquery控制左右箭头滚动图片列表的实例
2013/05/20 Javascript
纯javascript实现图片延时加载方法
2015/08/21 Javascript
Jquery轮播效果实现过程解析
2016/03/30 Javascript
深入解析桶排序算法及Node.js上JavaScript的代码实现
2016/07/06 Javascript
基于JavaScript实现在新的tab页打开url
2016/08/04 Javascript
Bootstrap图片轮播组件Carousel使用方法详解
2016/10/20 Javascript
使用纯JS代码判断字符串中有多少汉字的实现方法(超简单实用)
2016/11/12 Javascript
基于jQuery实现滚动切换效果
2016/12/02 Javascript
原生js仿浏览器滚动条效果
2017/03/02 Javascript
vue-resource请求实现http登录拦截或者路由拦截的方法
2018/07/11 Javascript
使用js实现将后台传入的json数据放在前台显示
2018/08/06 Javascript
vxe-table vue table 表格组件功能
2019/05/26 Javascript
node.JS二进制操作模块buffer对象使用方法详解
2020/02/06 Javascript
使用JavaScript实现贪吃蛇游戏
2020/09/29 Javascript
vue实现广告栏上下滚动效果
2020/11/26 Vue.js
python简单获取数组元素个数的方法
2015/07/13 Python
python利用正则表达式提取字符串
2016/12/08 Python
Python自动化开发学习之三级菜单制作
2017/07/14 Python
python多线程与多进程及其区别详解
2019/08/08 Python
Tensorflow卷积实现原理+手写python代码实现卷积教程
2020/05/22 Python
python 实现批量图片识别并翻译
2020/11/02 Python
python-地图可视化组件folium的操作
2020/12/14 Python
德国柯吉澳趣味家居:Koziol
2017/08/24 全球购物
Java程序员常见面试题
2015/07/16 面试题
互联网创业计划书的书写步骤
2014/01/28 职场文书
社区母亲节活动总结
2015/02/10 职场文书
项目安全员岗位职责
2015/02/15 职场文书
JavaScript 中for/of,for/in 的详细介绍
2021/11/17 Javascript
MySQL读取JSON转换的方式
2022/03/18 MySQL
Sentry的安装、配置、使用教程(Sentry日志手机系统)
2022/07/23 Python