Python requests获取网页常用方法解析
这篇文章主要介绍了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用requests实现http请求代码实例
这篇文章主要介绍了python用requests实现http请求过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 1. get import requests # 最简单的get请求 r = requests.get(url) print(r.status_code) print(r.json()) # url 中?key=value&key=value r = requests.get(url, params=params) # for
-
详解Python 重学requests发起请求的基本方式
安装相关模块 pip install requests requests-toolbelt 代码实例 import requests import json from PIL import Image from io import BytesIO from requests_toolbelt import MultipartEncoder ''' 使用 requests 请求返回的 response 注意事项 response.text 获得响应结果的字符串类型 response.content
-
Python3+Requests+Excel完整接口自动化测试框架的实现
框架整体使用Python3+Requests+Excel:包含对实时token的获取 1.------base -------runmethond.py runmethond:对不同的请求方式进行封装 import json import requests requests.packages.urllib3.disable_warnings() class RunMethod: def post_main(self, url, data, header=None): res = None if
-
Python爬虫库requests获取响应内容、响应状态码、响应头
首先在程序中引入Requests模块 import requests 一.获取不同类型的响应内容 在发送请求后,服务器会返回一个响应内容,而且requests通常会自动解码响应内容 1.文本响应内容 获取文本类型的响应内容 r = requests.get('https://www.baidu.com') r.text # 通过文本的形式获取响应内容 '<!DOCTYPE html>\r\n<!--STATUS OK--><html> <head><m
-
python requests证书问题解决
用requests包请求https的网站时,我们偶尔会遇到证书问题.也就是常见的SSLerror,遇到这种问题莫慌莫慌. 这里没有找到合适的网站去报SSL证书的错误,所以就假装请求了一个https的网站,然后给报了SSLerror了,然后下面是解决方法 可以直接关闭验证ssl证书 import requests ''' :param proxies: (optional) Dictionary mapping protocol to the URL of the proxy. :param ve
-
使用Python爬虫库requests发送表单数据和JSON数据
导入Python爬虫库Requests import requests 一.发送表单数据 要发送表单数据,只需要将一个字典传递给参数data payload = {'key1': 'value1', 'key2': 'value2'} r = requests.post("http://httpbin.org/post", data=payload) print(r.text) {"args":{},"data":"",&qu
-
Python3离线安装Requests模块问题
最近运维上需要在测试环境调用http的post请求,实现自动化日切,我看了下我会的编程,也就python能符合我的要求,且简单好操作.但是在实际操作过程遇到了一些问题,其中最大的就是测试环境的机器是外网隔离的,没法连外网进行直接安装部分模块,通过搜索和实践之后,简单说下我的经验. 机器环境 操作系统:Windows Server 2012 x64 python3安装 从 [官网] 下载最新的适合windows 的安装包. 下载下来的python-3.7.4-amd64.exe,直接拷贝到测试环境
-
Python使用grequests(gevent+requests)并发发送请求过程解析
前言 requests是Python发送接口请求非常好用的一个三方库,由K神编写,简单,方便上手快.但是requests发送请求是串行的,即阻塞的.发送完一条请求才能发送另一条请求. 为了提升测试效率,一般我们需要并行发送请求.这里可以使用多线程,或者协程,gevent或者aiohttp,然而使用起来,都相对麻烦. grequests是K神基于gevent+requests编写的一个并发发送请求的库,使用起来非常简单. 安装方法: pip install gevent grequests 项目地
-
Python requests获取网页常用方法解析
这篇文章主要介绍了Python requests获取网页常用方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 主要记录使用 requests 模块获取网页源码的方法 class Crawler(object): """ 采集类 """ def __init__(self, base_url): self._base_url = base_url self._cookie = None se
-
Python无法用requests获取网页源码的解决方法
最近在抓取http://skell.sketchengine.eu网页时,发现用requests无法获得网页的全部内容,所以我就用selenium先模拟浏览器打开网页,再获取网页的源代码,通过BeautifulSoup解析后拿到网页中的例句,为了能让循环持续进行,我们在循环体中加了refresh(),这样当浏览器得到新网址时通过刷新再更新网页内容,注意为了更好地获取网页内容,设定刷新后停留2秒,这样可以降低抓不到网页内容的机率.为了减少被封的可能,我们还加入了Chrome,请看以下代码: fro
-
基于python实现获取网页图片过程解析
环境:python3, 要安装bs4这个第三方库 获取请求头的方法 这里使用的是Chrome浏览器. 打开你想查询的网站,按F12,或者鼠标右键一下选择检查.会弹出如下的审查元素页面: 然后点击上方选项中的Network选项: 此时在按Ctrl+R: 选择下方框中的第一个,单击: 选择Headers选项,其中就会有Request Headers,包括你需要的信息. 介绍:这个程序是用来批量获取网页的图片,用于新手入门 注意:由于是入门的程序在获取某些网页的图片时会出问题!!!!! import
-
Python requests模块cookie实例解析
cookie并不陌生,与session一样,能够让http请求前后保持状态.与session不同之处,在于cookie数据仅保存于客户端.requests也提供了相应到方法去处理cookie. 在python requests模块-session中,我们知道了requests中的session对象能够在请求之间保持cookie,它极大地方便了我们去使用cookie.当我们想设置方法级别中的请求时,可以如下面示例一样操作. import requests s = requests.session(
-
Python操作Jira库常用方法解析
Jira提供了完善的RESTful API,如果不想直接请求API接口可以使用Python的Jira库来操作Jira Jira Python文档 安装方法 pip install jira 认证 Jira的访问是有权限的,在访问Jira项目时首先要进行认证,Jira Python库提供了3种认证方式: 通过Cookis方式认证(用户名,密码) 通过Basic Auth方式认证(用户名,密码) 通过OAuth方式认证 认证方式只需要选择一种即可,以下代码为使用Cookies方式认证. form j
-
Python中获取网页状态码的两个方法
第一种是用urllib模块,下面是例示代码: 复制代码 代码如下: import urllib status=urllib.urlopen("http://www.jb51.net").code print status 第二章是用requests模块,下面是例示代码: 复制代码 代码如下: import requests code=requests.get("http://www.jb51.net").status_code print code
-
Python爬虫获取页面所有URL链接过程详解
如何获取一个页面内所有URL链接?在Python中可以使用urllib对网页进行爬取,然后利用Beautiful Soup对爬取的页面进行解析,提取出所有的URL. 什么是Beautiful Soup? Beautiful Soup提供一些简单的.python式的函数用来处理导航.搜索.修改分析树等功能.它是一个工具箱,通过解析文档为用户提供需要抓取的数据,因为简单,所以不需要多少代码就可以写出一个完整的应用程序. Beautiful Soup自动将输入文档转换为Unicode编码,输出文档转换
-
Python生成个性签名图片获取GUI过程解析
这篇文章主要介绍了Python生成个性签名图片获取GUI过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 先来看看程序运行的样子: 所以,程序的原理是 从一个url = ' http://www.uustv.com/ '中爬取个性签名的图片. 在该网页中审查该图片的元素,然后找到该图片的imgur 使用正则表达式直接定位 程序的后面使用到了tkinter的 GUI简易界面,用于和用户的简单交互,非常方便. 整个程序的完整代码如下: (有任
-
Python requests模块基础使用方法实例及高级应用(自动登陆,抓取网页源码)实例详解
1.Python requests模块说明 requests是使用Apache2 licensed 许可证的HTTP库. 用python编写. 比urllib2模块更简洁. Request支持HTTP连接保持和连接池,支持使用cookie保持会话,支持文件上传,支持自动响应内容的编码,支持国际化的URL和POST数据自动编码. 在python内置模块的基础上进行了高度的封装,从而使得python进行网络请求时,变得人性化,使用Requests可以轻而易举的完成浏览器可有的任何操作. 现代,国际化
-
Python获取网页数据详解流程
Requests 库是 Python 中发起 HTTP 请求的库,使用非常方便简单. 发送 GET 请求 当我们用浏览器打开东旭蓝天股票首页时,发送的最原始的请求就是 GET 请求,并传入url参数. import requests url='http://push2his.eastmoney.com/api/qt/stock/fflow/daykline/get' 用Python requests库的get函数得到数据并设置requests的请求头. header={ 'User-Agent'
随机推荐
- 利用百度地图API获取当前位置信息的实例
- ExtJS4利根据登录后不同的角色分配不同的树形菜单
- 用正则表达式批量为a增加target=''_blank''新窗口打开的方法
- asp.net 计划任务管理程序实现,多线程任务加载
- php一维二维数组键排序方法实例总结
- javascript实现存储hmtl字符串示例
- js showModalDialog 弹出对话框的简单实例(子窗体)
- MongoDB教程之数据操作实例
- mysql Sort aborted: Out of sort memory, consider increasing server sort buffer size的解决方法
- 对xmlHttp对象方法和属性的理解
- PHP 超链接 抓取实现代码
- Java环境配置图文教程(推荐)
- Java中常用的类型转换(推荐)
- 路由器基本原理和结构体系
- Java异常处理学习心得
- linux环境不使用hadoop安装单机版spark的方法
- JMS简介与ActiveMQ实战代码分享
- 从零撸一个pc端vue的ui组件库( 计数器组件 )
- C#与C++之间类型的对应知识点总结
- Django中间件实现拦截器的方法