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之用Python计算
Sep 12 Python
Python搭建FTP服务器的方法示例
Jan 19 Python
Python 正则表达式匹配字符串中的http链接方法
Dec 25 Python
在python 中实现运行多条shell命令
Jan 07 Python
python实现得到当前登录用户信息的方法
Jun 21 Python
对django views中 request, response的常用操作详解
Jul 17 Python
解决Django删除migrations文件夹中的文件后出现的异常问题
Aug 31 Python
python3 BeautifulSoup模块使用字典的方法抓取a标签内的数据示例
Nov 28 Python
python+Django+pycharm+mysql 搭建首个web项目详解
Nov 29 Python
Pytorch之Variable的用法
Dec 31 Python
浅析python实现动态规划背包问题
Dec 31 Python
python爬不同图片分别保存在不同文件夹中的实现
Apr 02 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
discuz authcode 经典php加密解密函数解析
2020/07/12 PHP
php+xml实现在线英文词典查询的方法
2015/01/23 PHP
php抽奖概率算法(刮刮卡,大转盘)
2020/04/17 PHP
php array_values 返回数组的所有值详解及实例
2016/11/12 PHP
TextArea 控件的最大长度问题(js json)
2009/12/16 Javascript
JavaScript中的作用域链和闭包
2012/06/30 Javascript
超赞的动手创建JavaScript框架的详细教程
2015/06/30 Javascript
jquery实现简单实用的打分程序实例
2015/07/23 Javascript
js图片加载效果实例代码(延迟加载+瀑布流加载)
2017/05/12 Javascript
Vue+Express实现登录状态权限验证的示例代码
2019/05/05 Javascript
jQuery实现文本显示一段时间后隐藏的方法分析
2019/06/20 jQuery
javascript 数组精简技巧小结
2020/02/26 Javascript
element-ui封装一个Table模板组件的示例
2021/01/04 Javascript
python中随机函数random用法实例
2015/04/30 Python
Python中类型关系和继承关系实例详解
2015/05/25 Python
Python实现爬取逐浪小说的方法
2015/07/07 Python
Python实现批量转换文件编码的方法
2015/07/28 Python
Python使用当前时间、随机数产生一个唯一数字的方法
2017/09/18 Python
python3模块smtplib实现发送邮件功能
2018/05/22 Python
python实现支付宝转账接口
2019/05/07 Python
python实现对图片进行旋转,放缩,裁剪的功能
2019/08/07 Python
Python实现微信中找回好友、群聊用户撤回的消息功能示例
2019/08/23 Python
python3 下载网络图片代码实例
2019/08/27 Python
3行Python代码实现图像照片抠图和换底色的方法
2019/10/10 Python
基于python修改srt字幕的时间轴
2020/02/03 Python
python3中使用__slots__限定实例属性操作分析
2020/02/14 Python
python中温度单位转换的实例方法
2020/12/27 Python
python中if嵌套命令实例讲解
2021/02/25 Python
详解CSS中iconfont的使用
2015/08/04 HTML / CSS
css3 pointer-events 介绍详解
2017/09/18 HTML / CSS
英国折扣高尔夫商店:Discount Golf Store
2019/11/19 全球购物
请用Python写一个获取用户输入数字,并根据数字大小输出不同信息的脚本
2014/05/20 面试题
岗位说明书标准范本
2014/07/30 职场文书
2015仓库保管员年终工作总结
2015/05/13 职场文书
军训后的感想
2015/08/07 职场文书
Go语言并发编程 sync.Once
2021/10/16 Golang