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 相关文章推荐
Python3基础之基本数据类型概述
Aug 13 Python
Python中使用platform模块获取系统信息的用法教程
Jul 08 Python
Python 用Redis简单实现分布式爬虫的方法
Nov 23 Python
详解tensorflow训练自己的数据集实现CNN图像分类
Feb 07 Python
Python中装饰器学习总结
Feb 10 Python
python实现在IDLE中输入多行的方法
Apr 19 Python
Python做智能家居温湿度报警系统
Sep 25 Python
PyQt5连接MySQL及QMYSQL driver not loaded错误解决
Apr 29 Python
Python如何将将模块分割成多个文件
Aug 04 Python
基于python实现复制文件并重命名
Sep 16 Python
利用Python pandas对Excel进行合并的方法示例
Nov 04 Python
python实现简单的聊天小程序
Jul 07 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
PHP编实现程动态图像的创建代码
2008/09/28 PHP
深入解析PHP中逗号与点号的区别
2013/08/05 PHP
php实现给二维数组中所有一维数组添加值的方法
2017/02/04 PHP
详解PHP使用日期时间处理器Carbon人性化显示时间
2017/08/10 PHP
加载jQuery后$冲突的解决办法
2010/07/09 Javascript
基于jquery的获取浏览器窗口大小的代码
2011/03/28 Javascript
JS连接SQL数据库与ACCESS数据库的方法实例
2013/11/21 Javascript
JavaScript列表框listbox全选和反选的实现方法
2015/03/18 Javascript
jQuery基于$.ajax设置移动端click超时处理方法
2016/05/14 Javascript
jQuery实现发送验证码并60秒倒计时功能
2016/11/25 Javascript
手动初始化Angular的模块与控制器
2016/12/26 Javascript
yii form 表单提交之前JS在提交按钮的验证方法
2017/03/15 Javascript
详解AngularJs ui-router 路由的简单介绍
2017/04/26 Javascript
JavaScript实现动态添加Form表单元素的方法示例
2017/08/14 Javascript
vue中实现滚动加载更多的示例
2017/11/08 Javascript
基于Datatables跳转到指定页的简单实例
2017/11/09 Javascript
微信小程序分享功能onShareAppMessage(options)用法分析
2019/04/24 Javascript
小程序实现投票进度条
2019/11/20 Javascript
[04:03]2014DOTA2西雅图国际邀请赛 LGD战队巡礼
2014/07/07 DOTA
[42:25]2018DOTA2亚洲邀请赛 4.5 淘汰赛 LGD vs Liquid 第三场
2018/04/06 DOTA
python实现图片批量剪切示例
2014/03/25 Python
python3中int(整型)的使用教程
2017/03/23 Python
python实现数据图表
2017/07/29 Python
用Python写脚本,实现完全备份和增量备份的示例
2018/04/29 Python
Pycharm 设置默认解释器路径和编码格式的操作
2021/02/05 Python
Python3使用Selenium获取session和token方法详解
2021/02/16 Python
印度尼西亚综合购物网站:Lazada印尼
2016/09/07 全球购物
介绍一下Transact-SQL中SPACE函数的用法
2015/09/01 面试题
MYSQL相比于其他数据库有哪些特点
2013/07/19 面试题
写clone()方法时,通常都有一行代码,是什么?
2012/10/31 面试题
优秀的2014年两会精神解读
2014/03/17 职场文书
教师党的群众路线学习心得体会
2014/11/04 职场文书
合作意向协议书
2015/01/29 职场文书
阿凡达观后感
2015/06/10 职场文书
python使用matplotlib绘制图片时x轴的刻度处理
2021/08/30 Python
python 远程执行命令的详细代码
2022/02/15 Python