Python爬虫requests库多种用法实例


Posted in Python onMay 28, 2020

requests安装和使用

下载安装:pip install requests

#requests模块

import requests

#发送请求 content:以二进制的形式获取网页的内容
response=requests.get("http://www.baidu.com").content.decode()
#response=requests.request("get","http://www.baidu.com").content.decode()

print(response)

添加请求头和参数

import requests

url="http://www.baidu.com/s?"

headers={
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) \
AppleWebKit/537.36 (KHTML, like Gecko) \
Chrome/81.0.4044.138 Safari/537.36"
}
wd={"wd":"中国"}
response=requests.get(url,params=wd,headers=headers)
# 返回一个字符串形式的数据
data=response.text
# 返回一个二进制形式的数据
data2=response.content
print(data2.decode())

处理Post请求

处理get请求:get()方法

处理post请求:post()方法

import requests
import re

#构造请求头信息
header={
"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) \
AppleWebKit/537.36 (KHTML, like Gecko) \
Chrome/81.0.4044.122 Safari/537.36"
}#谷歌浏览器

#http://fanyi.youdao.com/translate_o?smartresult=dict&smartresult=rule 网页上的url
url="http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule"

key="靓仔"

#发送到web服务器的表单数据
formdata={
"i":key,
"from":"AUTO",
"to":"AUTO",
"smartresult":"dict",
"client":"fanyideskweb",
"salt":"15880563488791",
"sign":"cc2c40d740538fc5edc0380891faef27",
"ts":"1588053583943",
"bv":"f9c86b1fdf2f53c1fefaef343285247b",
"doctype":"json",
"version":"2.1",
"keyfrom":"fanyi.web",
"action":"FY_BY_REALTlME"

}

response=requests.post(url,headers=header,data=formdata)

# 获取到的是json数据
# 对应的是字典
# print(response.json())

pat=r'"tgt":"(.*?)"}]]' #字符串中有"",再用''括起来表示字符串

# 获取到的是字符串
result=re.findall(pat,response.text)

print(result[0])

代理IP

import requests

#设置ip地址
#proxy={"http":"http://代理ip地址:端口号"}
#可以设置多个
proxy={
"http":"http://222.82.130.23:8060",
"http":"http://101.248.64.68:80",
}

response=requests.get("http://www.baidu.com",proxies=proxy)

print(response.content.decode())

获取响应的cookie

cookie:用户信息

import requests
response=requests.get("http://www.baidu.com")
#1.获取返回的cooketjar对象
cookiejar=response.cookies
#2.将cookiejar转换成字典
cookiedict=requests.utils.dict_from_cookiejar(cookiejar)
print(cookiedict)

session实现登陆

相比直接使用cookie,创建session可以得到新的cookie信息,不会出现cookie失效的情况

#使用session实现登陆

import requests

#构造请求头信息
header={
"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) \
AppleWebKit/537.36 (KHTML, like Gecko) \
Chrome/81.0.4044.122 Safari/537.36"
}#谷歌浏览器

#创建session对象
ses=requests.session()

#构造登陆需要的参数
data={"email":"325*****@qq.com","password":"123321a"}

#通过传递用户名密码得到cookie信息
ses.post("http://www.renren.com/PLogin.do",data=data,headers=header)

#请求需要的页面,每次请求会带入cookie信息
response=ses.get("http://www.renren.com/880151247/profile")

print(response.text)

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python 中的列表解析和生成表达式
Mar 10 Python
Python深入学习之上下文管理器
Aug 31 Python
Python中序列的修改、散列与切片详解
Aug 27 Python
python3大文件解压和基本操作
Dec 15 Python
python之从文件读取数据到list的实例讲解
Apr 19 Python
python迭代dict的key和value的方法
Jul 06 Python
django 环境变量配置过程详解
Aug 06 Python
简单了解Python write writelines区别
Feb 27 Python
opencv python在视屏上截图功能的实现
Mar 05 Python
Python转换字典成为对象,可以用"."方式访问对象属性实例
May 11 Python
实现Python3数组旋转的3种算法实例
Sep 16 Python
基于Python的身份证验证识别和数据处理详解
Nov 14 Python
在pycharm中创建django项目的示例代码
May 28 #Python
python中有函数重载吗
May 28 #Python
Python可以实现栈的结构吗
May 27 #Python
Python如何脚本过滤文件中的注释
May 27 #Python
Python如何获取文件指定行的内容
May 27 #Python
Python web如何在IIS发布应用过程解析
May 27 #Python
利用Python实现某OA系统的自动定位功能
May 27 #Python
You might like
ThinkPHP 模板引擎使用详解
2017/05/07 PHP
确保Laravel网站不会被嵌入到其他站点中的方法
2019/10/18 PHP
用javascript实现的激活输入框后隐藏初始内容
2007/06/29 Javascript
js 日期转换成中文格式的函数
2009/07/07 Javascript
JavaScript 图像动画的小demo
2012/05/23 Javascript
eclipse导入jquery包后报错的解决方法
2014/02/17 Javascript
node.js中的fs.stat方法使用说明
2014/12/16 Javascript
jquery实现图片预加载
2015/12/25 Javascript
vue分类筛选filter方法简单实例
2017/03/30 Javascript
Jquery-data的三种用法
2017/04/18 jQuery
使用JS在浏览器中判断当前网络连接状态的几种方法
2017/05/05 Javascript
BootStrap表单控件之文本域textarea
2017/05/23 Javascript
vue-scroller记录滚动位置的示例代码
2018/01/17 Javascript
详解plotly.js 绘图库入门使用教程
2018/02/23 Javascript
动态加载JavaScript文件的3种方式
2018/05/05 Javascript
浅谈Node框架接入ELK实践总结
2019/02/22 Javascript
详解从vue-loader源码分析CSS Scoped的实现
2019/09/23 Javascript
详解vue beforeEach 死循环问题解决方法
2020/02/25 Javascript
Python使用functools模块中的partial函数生成偏函数
2016/07/02 Python
Python3字符串encode与decode的讲解
2019/04/02 Python
Django model select的多种用法详解
2019/07/16 Python
python将字典列表导出为Excel文件的方法
2019/09/02 Python
Python‘==‘ 及 ‘is‘相关原理解析
2020/09/05 Python
python如何实现图片压缩
2020/09/11 Python
Python基于template实现字符串替换
2020/11/27 Python
英国领先的在线旅游和休闲零售商:lastminute.com
2019/01/23 全球购物
Mamaearth官方网站:印度母婴护理产品公司
2019/10/06 全球购物
什么叫应用程序域?什么是受管制的代码?什么是强类型系统?什么是装箱和拆箱?
2016/08/13 面试题
另类冲刺标语
2014/06/24 职场文书
党员志愿者活动总结
2014/06/26 职场文书
内乡县衙导游词
2015/02/05 职场文书
清洁工岗位职责
2015/02/13 职场文书
清明节寄语2015
2015/03/23 职场文书
2015年英语教研组工作总结
2015/05/23 职场文书
鸦片战争观后感
2015/06/09 职场文书
人身损害赔偿协议书
2016/03/22 职场文书