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中的对象,方法,类,实例,函数用法分析
Jan 15 Python
利用Python破解验证码实例详解
Dec 08 Python
python实现TF-IDF算法解析
Jan 02 Python
python 执行shell命令并将结果保存的实例
May 11 Python
Python 2.7中文显示与处理方法
Jul 16 Python
kaggle+mnist实现手写字体识别
Jul 26 Python
python保存二维数组到txt文件中的方法
Nov 15 Python
Python实现最常见加密方式详解
Jul 13 Python
基于python3生成标签云代码解析
Feb 18 Python
如何利用python生成MD5并去重
Dec 07 Python
Python的property属性详细讲解
Apr 11 Python
Python中Schedule模块使用详解 周期任务神器
Apr 19 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
德生BCL3000的电路分析和打磨
2021/03/02 无线电
php中利用str_pad函数生成数字递增形式的产品编号
2013/09/30 PHP
PHP MYSQL简易交互式站点开发
2016/12/27 PHP
php头像上传预览实例代码
2017/05/02 PHP
javascript数组的扩展实现代码集合
2008/06/01 Javascript
5个可以帮你理解JavaScript核心闭包和作用域的小例子
2014/10/08 Javascript
使用javascript实现雪花飘落的效果
2015/01/13 Javascript
JavaScript实现动画打开半透明提示层的方法
2015/04/21 Javascript
jQuery插件AjaxFileUpload实现ajax文件上传
2016/05/05 Javascript
浅析Bootstrap表格的使用
2016/06/23 Javascript
微信小程序 实例应用(记账)详解
2016/09/28 Javascript
Vue原理剖析 实现双向绑定MVVM
2017/05/03 Javascript
Ionic + Angular.js实现图片轮播的方法示例
2017/05/21 Javascript
EasyUI在Panel上动态添加LinkButton按钮
2017/08/11 Javascript
js删除数组中某几项的方法总结
2019/01/16 Javascript
Vue 通过公共字段,拼接两个对象数组的实例
2019/11/07 Javascript
Vue切换div显示隐藏,多选,单选代码解析
2020/07/14 Javascript
python爬虫爬取网页表格数据
2018/03/07 Python
Django 路由控制的实现代码
2018/11/08 Python
Python字符串内置函数功能与用法总结
2019/04/16 Python
Python单元测试及unittest框架用法实例解析
2020/07/09 Python
利用python对mysql表做全局模糊搜索并分页实例
2020/07/12 Python
python批量提取图片信息并保存的实现
2021/02/05 Python
英国123鲜花网站:123 Flowers
2019/07/07 全球购物
Ibatis如何使用动态表名
2015/07/12 面试题
求职简历的自我评价怎样写好
2013/10/07 职场文书
涉外经济法专业毕业生推荐信
2013/11/24 职场文书
迎新晚会主持词
2014/03/24 职场文书
2015元旦节寄语
2014/12/08 职场文书
员工辞职信范文大全
2015/05/12 职场文书
2015年敬老院工作总结
2015/05/18 职场文书
委托收款证明
2015/06/23 职场文书
2016春季小学开学寄语
2015/12/03 职场文书
《西游记》读后感(3篇)
2019/09/20 职场文书
教你快速开启Apache SkyWalking的自监控
2021/04/25 Servers
服务器nginx权限被拒绝解决案例
2022/09/23 Servers