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 相关文章推荐
合并Excel工作薄中成绩表的VBA代码,非常适合教育一线的朋友
Apr 09 Python
Python中用sleep()方法操作时间的教程
May 22 Python
python创建临时文件夹的方法
Jul 06 Python
python编码总结(编码类型、格式、转码)
Jul 01 Python
Python的Flask框架标配模板引擎Jinja2的使用教程
Jul 12 Python
python使用PyCharm进行远程开发和调试
Nov 02 Python
tensorflow输出权重值和偏差的方法
Feb 10 Python
Django Form 实时从数据库中获取数据的操作方法
Jul 25 Python
python实现广度优先搜索过程解析
Oct 19 Python
浅谈sklearn中predict与predict_proba区别
Jun 28 Python
python 深度学习中的4种激活函数
Sep 18 Python
python中HTMLParser模块知识点总结
Jan 25 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使用PHPExcel实现Excel数据导入导出完整实例
2014/07/22 PHP
深入解析PHP的Laravel框架中的event事件操作
2016/03/21 PHP
laravel实现按时间日期进行分组统计方法示例
2019/03/23 PHP
laravel-admin 后台表格筛选设置默认的查询日期方法
2019/10/03 PHP
javascript复制对象使用说明
2011/06/28 Javascript
jQuery 借助插件Lavalamp实现导航条动态美化效果
2013/09/27 Javascript
JavaScript获取某年某月的最后一天附截图
2014/06/23 Javascript
jQuery实现的指纹扫描效果实例(附演示与demo源码下载)
2016/01/26 Javascript
详解Bootstrap的iCheck插件checkbox和radio
2016/08/24 Javascript
JS绘制微信小程序画布时钟
2016/12/24 Javascript
微信小程序实现的3d轮播图效果示例【基于swiper组件】
2018/12/11 Javascript
Angular2 自定义表单验证器的实现方法
2018/12/14 Javascript
微信小程序实现swiper切换卡内嵌滚动条不显示的方法示例
2018/12/20 Javascript
Windows下安装 node 的版本控制工具 nvm
2020/02/06 Javascript
简单了解JavaScript arguement原理及作用
2020/05/28 Javascript
原生JavaScript实现拖动校验功能
2020/09/29 Javascript
python实现单线程多任务非阻塞TCP服务端
2017/06/13 Python
Python通过matplotlib画双层饼图及环形图简单示例
2017/12/15 Python
python2.x实现人民币转大写人民币
2018/06/20 Python
Python面向对象程序设计OOP入门教程【类,实例,继承,重载等】
2019/01/05 Python
对Python中实现两个数的值交换的集中方法详解
2019/01/11 Python
Flask-WTF表单的使用方法
2019/07/12 Python
Python OpenCV图像指定区域裁剪的实现
2019/10/30 Python
python虚拟环境模块venv使用及示例
2020/03/04 Python
美国体育用品商店:Rally House(NCAA、NFL、MLB、NBA、NHL和MLS)
2018/01/03 全球购物
什么是会话Bean
2015/05/14 面试题
行政内勤岗位职责
2014/04/07 职场文书
项目经理任命书范本
2014/06/05 职场文书
四风个人对照检查材料思想汇报
2014/09/25 职场文书
四风问题专项整治工作情况报告
2014/10/28 职场文书
领导欢迎词致辞
2015/01/23 职场文书
单位实习介绍信
2015/05/05 职场文书
社区活动总结范文
2015/05/07 职场文书
2016年春季运动会加油稿
2015/07/22 职场文书
关于开学的感想
2015/08/10 职场文书
win10电脑双屏显示一个黑屏怎么办?win10电脑双屏显示一个黑屏解决方法
2022/07/15 数码科技