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检测远程udp端口是否打开的方法
Mar 14 Python
Python的ORM框架中SQLAlchemy库的查询操作的教程
Apr 25 Python
使用Python编写基于DHT协议的BT资源爬虫
Mar 19 Python
用python 批量更改图像尺寸到统一大小的方法
Mar 31 Python
Python3单行定义多个变量或赋值方法
Jul 12 Python
python 实现将txt文件多行合并为一行并将中间的空格去掉方法
Dec 20 Python
Python实现FM算法解析
Jun 18 Python
python 整数越界问题详解
Jun 27 Python
tensorflow中tf.slice和tf.gather切片函数的使用
Jan 19 Python
Django调用支付宝接口代码实例详解
Apr 04 Python
关于Keras Dense层整理
May 21 Python
详解python的变量缓存机制
Jan 24 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-Fcgi下PHP的执行时间设置方法
2013/08/02 PHP
PHP实现浏览器格式化显示XML的方法示例
2019/01/22 PHP
Yii框架通过请求组件处理get,post请求的方法分析
2019/09/03 PHP
Laravel 之url参数,获取路由参数的例子
2019/10/21 PHP
js removeChild 障眼法 可能出现的错误
2009/10/06 Javascript
JavaScript null和undefined区别分析
2009/10/14 Javascript
jquery+json实现数据列表分页示例代码
2013/11/15 Javascript
JS+JSP checkBox 全选具体实现
2014/01/02 Javascript
自己用jQuery写了一个图片的马赛克消失效果
2014/05/04 Javascript
Blocksit插件实现瀑布流数据无限( 异步)加载
2014/06/20 Javascript
iframe如何动态创建及释放其所占内存
2014/09/03 Javascript
10条建议帮助你创建更好的jQuery插件
2015/05/18 Javascript
JavaScript学习总结之JS、AJAX应用
2016/01/29 Javascript
JS未跨域操作iframe里的DOM
2016/06/01 Javascript
浅谈jquery中next与siblings的区别
2016/10/27 Javascript
jquery 追加元素append、prepend、before、after用法与区别分析
2016/12/02 Javascript
VueJS事件处理器v-on的使用方法
2017/09/27 Javascript
angular写一个列表的选择全选交互组件的示例
2018/01/22 Javascript
Python Pandas批量读取csv文件到dataframe的方法
2018/10/08 Python
使用Python做定时任务及时了解互联网动态
2019/05/15 Python
python实现回旋矩阵方式(旋转矩阵)
2019/12/04 Python
执行Python程序时模块报错问题
2020/03/26 Python
南非最大的花卉和送礼服务:NetFlorist
2017/09/13 全球购物
Intimissimi德国网上商店:意大利知名内衣品牌
2018/04/03 全球购物
Lookfantastic意大利官网:英国知名美妆购物网站
2019/05/31 全球购物
《威尼斯的小艇》教学反思
2014/02/17 职场文书
数学教研活动总结
2014/07/02 职场文书
物理课外活动总结
2014/08/27 职场文书
税务职业生涯规划书范文
2014/09/16 职场文书
机械专业毕业生自我鉴定2014
2014/10/04 职场文书
自主招生自荐信格式范文
2015/03/25 职场文书
2016年七夕爱情寄语
2015/12/04 职场文书
财务会计个人原因辞职信
2019/06/21 职场文书
三好学生竞选稿范文
2019/08/21 职场文书
OpenCV3.3+Python3.6实现图片高斯模糊
2021/05/18 Python
python数字图像处理之图像自动阈值分割示例
2022/06/28 Python