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 NumPy库安装使用笔记
May 18 Python
Python的爬虫程序编写框架Scrapy入门学习教程
Jul 02 Python
Python线程指南详细介绍
Jan 05 Python
Python编程之string相关操作实例详解
Jul 22 Python
python实现多线程行情抓取工具的方法
Feb 28 Python
Python基于Flask框架配置依赖包信息的项目迁移部署
Mar 02 Python
Python引用计数操作示例
Aug 23 Python
python进行TCP端口扫描的实现
Dec 21 Python
Python read函数按字节(字符)读取文件的实现
Jul 03 Python
django中嵌套的try-except实例
May 21 Python
使用Keras实现Tensor的相乘和相加代码
Jun 18 Python
python函数指定默认值的实例讲解
Mar 29 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下使用strpos需要注意 === 运算符
2010/07/17 PHP
php实现统计网站在线人数的方法
2015/05/12 PHP
PHP连接MSSQL方法汇总
2016/02/05 PHP
php使用curl代理实现抓取数据的方法
2017/02/03 PHP
php中加密解密DES类的简单使用方法示例
2020/03/26 PHP
php gethostbyname获取域名ip地址函数详解
2010/01/24 Javascript
JQuery 选择器 xpath 语法应用
2010/05/13 Javascript
Jquery遍历Json数据的方法
2015/04/20 Javascript
JS实现自动切换文字的导航效果代码
2015/08/27 Javascript
5 种JavaScript编码规范
2018/01/30 Javascript
js中的深浅拷贝问题简析
2019/05/10 Javascript
在layui中select更改后生效的方法
2019/09/05 Javascript
JQuery发送ajax请求时中文乱码问题解决
2019/11/14 jQuery
vue如何使用async、await实现同步请求
2019/12/09 Javascript
node.js开发辅助工具nodemon安装与配置详解
2020/02/06 Javascript
vue+render+jsx实现可编辑动态多级表头table的实例代码
2020/04/01 Javascript
解决VUE自定义拖拽指令时 onmouseup 与 click事件冲突问题
2020/07/24 Javascript
Python中还原JavaScript的escape函数编码后字符串的方法
2014/08/22 Python
Python制作简单的网页爬虫
2015/11/22 Python
python利用正则表达式搜索单词示例代码
2017/09/24 Python
Python实现求数列和的方法示例
2018/01/12 Python
python Matplotlib底图中鼠标滑过显示隐藏内容的实例代码
2019/07/31 Python
pytorch 获取tensor维度信息示例
2020/01/03 Python
tensorflow 自定义损失函数示例代码
2020/02/05 Python
使用Python提取文本中含有特定字符串的方法示例
2020/12/09 Python
python 如何用urllib与服务端交互(发送和接收数据)
2021/03/04 Python
HTML5新增加标签和功能概述
2016/09/05 HTML / CSS
英国最受欢迎的母婴精品品牌:JoJo Maman BéBé
2021/02/17 全球购物
教师求职自荐信
2014/03/09 职场文书
政治学求职信
2014/06/03 职场文书
软件工程毕业生自荐信
2014/07/04 职场文书
思想作风建设心得体会
2014/10/22 职场文书
员工福利申请报告
2015/05/15 职场文书
初任公务员培训心得体会
2016/01/08 职场文书
2016年教师反腐倡廉心得体会
2016/01/13 职场文书
如何起草一份正确的合伙创业协议书?
2019/07/04 职场文书