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解决方案:WindowsError: [Error 2]
Aug 28 Python
详解Python中的相对导入和绝对导入
Jan 06 Python
R语言 vs Python对比:数据分析哪家强?
Nov 17 Python
python字典快速保存于读取的方法
Mar 23 Python
Python常见字典内建函数用法示例
May 14 Python
python画一个玫瑰和一个爱心
Aug 18 Python
浅谈django rest jwt vue 跨域问题
Oct 26 Python
Python将一个Excel拆分为多个Excel
Nov 07 Python
python视频按帧截取图片工具
Jul 23 Python
python实现图像检索的三种(直方图/OpenCV/哈希法)
Aug 08 Python
python双端队列原理、实现与使用方法分析
Nov 27 Python
Python中的套接字编程是什么?
Jun 21 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+.htaccess实现全站静态HTML文件GZIP压缩传输(一)
2007/02/15 PHP
PHP.vs.JAVA
2016/04/29 PHP
基于jquery的web页面日期格式化插件
2011/11/15 Javascript
js实现的仿新浪微博完美的时间组件升级版
2011/12/20 Javascript
Javascript中实现String.startsWith和endsWith方法
2015/06/10 Javascript
Jquery全选与反选点击执行一次的解决方案
2015/08/14 Javascript
js图片轮播特效代码分享
2015/09/07 Javascript
JS组件Bootstrap导航条使用方法详解
2016/04/29 Javascript
JavaScript——DOM操作——Window.document对象详解
2016/07/14 Javascript
Angular2从搭建环境到开发步骤详解
2016/10/17 Javascript
js以分隔符分隔数组中的元素并转换为字符串的方法
2016/11/16 Javascript
vue通过watch对input做字数限定的方法
2017/07/13 Javascript
详解使用webpack打包编写一个vue-toast插件
2017/11/08 Javascript
puppeteer库入门初探
2019/01/09 Javascript
JavaScript查看代码运行效率console.time()与console.timeEnd()用法
2019/01/18 Javascript
js实现点击上传图片并设为模糊背景
2020/08/02 Javascript
[05:13]TI4 中国战队 机场出征!!
2014/07/07 DOTA
Python3实现将文件归档到zip文件及从zip文件中读取数据的方法
2015/05/22 Python
Django实现表单验证
2018/09/08 Python
Python实现的多进程拷贝文件并显示百分比功能示例
2019/04/09 Python
Python内置random模块生成随机数的方法
2019/05/31 Python
Python绘图Matplotlib之坐标轴及刻度总结
2019/06/28 Python
Django 过滤器汇总及自定义过滤器使用详解
2019/07/19 Python
使用pytorch实现可视化中间层的结果
2019/12/30 Python
Python实现FLV视频拼接功能
2020/01/21 Python
浅谈Python中的继承
2020/06/19 Python
Html5 Canvas 实现一个“刮刮乐”游戏
2019/09/05 HTML / CSS
武汉世纪畅想数字传播有限公司 .NET笔试题
2015/06/13 面试题
机械电子工程专业推荐信范文
2013/11/20 职场文书
开学典礼演讲稿
2014/05/23 职场文书
跳蚤市场口号
2014/06/13 职场文书
交通安全责任书范本
2014/07/24 职场文书
习近平在党的群众路线教育实践活动总结大会上的讲话全文
2014/10/25 职场文书
教代会闭幕词
2015/01/28 职场文书
人事任命通知
2015/04/20 职场文书
读《解忧杂货店》有感:请相信一切都是最好的安排
2019/11/07 职场文书