python爬虫基础教程:requests库(二)代码实例


Posted in Python onApril 09, 2019

get请求

简单使用

import requests
'''
想要学习Python?Python学习交流群:973783996满足你的需求,资料都已经上传群文件,可以自行下载!
'''
response = requests.get("https://www.baidu.com/")
#text返回的是unicode的字符串,可能会出现乱码情况
# print(response.text)
 
#content返回的是字节,需要解码
print(response.content.decode('utf-8'))
 
 
# print(response.url)       #https://www.baidu.com/
# print(response.status_code)   #200
# print(response.encoding)    #ISO-8859-1

添加headers和params

import requests
 
params = {
  'wd':'python'
}
headers = {
  'User-Agent':'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.140 Safari/537.36'
}
 
response = requests.get("https://www.baidu.com/s",params=params,headers=headers)
 
#content返回的是字节,需要解码
with open('baidu.html','w',encoding='utf-8') as f:
  f.write(response.content.decode('utf-8'))

POST请求

爬去拉钩网职位信息

import requests
 
url = "https://www.lagou.com/jobs/positionAjax.json?city=%E5%8C%97%E4%BA%AC&needAddtionalResult=false"
 
data = {
  'first':'true',
  'pn':1,
  'kd':'python'
}
 
headers = {
  "User-Agent":"Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.140 Safari/537.36",
  "Referer":"https://www.lagou.com/jobs/list_python?city=%E5%8C%97%E4%BA%AC&cl=false&fromSearch=true&labelWords=&suginput="
}
 
response = requests.post(url,data=data,headers=headers)
# print(response.text)
print(type(response.text))    #<class 'str'>
print(type(response.json()))   #<class 'dict'>
 
print(response.json())      #获取为字典的形式

使用代理

import requests
 
proxy = {'http':'115.210.31.236.55:9000'}
 
response = requests.get("https://www.baidu.com/",proxies=proxy)
 
print(response.content.decode('utf-8'))

session登录

# _*_ coding:utf-8 _*_
 
import requests
 
# 1. 创建session对象,可以保存Cookie值
ssion = requests.session()
 
# 2. 处理 headers
headers = {'User-Agent':'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.101 Safari/537.36'}
 
# 3. 需要登录的用户名和密码
data = {"email":"158xxxxxxxx", "password":"pythonxxxxxxx"}
 
# 4. 发送附带用户名和密码的请求,并获取登录后的Cookie值,保存在ssion里
ssion.post("http://www.renren.com/PLogin.do", data = data)
 
# 5. ssion包含用户登录后的Cookie值,可以直接访问那些登录后才可以访问的页面
response = ssion.get("http://zhibo.renren.com/news/108")
 
# 6. 打印响应内容
print(response.text)
 

以上所述是小编给大家介绍的python爬虫基础教程:requests库(二)详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Python 相关文章推荐
Python中用Ctrl+C终止多线程程序的问题解决
Mar 30 Python
python实现模拟按键,自动翻页看u17漫画
Mar 17 Python
python获取当前运行函数名称的方法实例代码
Apr 06 Python
Python基于Matplotlib库简单绘制折线图的方法示例
Aug 14 Python
Python简单实现自动删除目录下空文件夹的方法
Aug 29 Python
python表格存取的方法
Mar 07 Python
pyspark.sql.DataFrame与pandas.DataFrame之间的相互转换实例
Aug 02 Python
python 读取Linux服务器上的文件方法
Dec 27 Python
python+numpy按行求一个二维数组的最大值方法
Jul 09 Python
Django 响应数据response的返回源码详解
Aug 06 Python
Python数据可视化处理库PyEcharts柱状图,饼图,线性图,词云图常用实例详解
Feb 10 Python
python 实现压缩和解压缩的示例
Sep 22 Python
一个可以套路别人的python小程序实例代码
Apr 09 #Python
Python装饰器限制函数运行时间超时则退出执行
Apr 09 #Python
详解Python 解压缩文件
Apr 09 #Python
Python使用pandas和xlsxwriter读写xlsx文件的方法示例
Apr 09 #Python
Python中使用logging和traceback模块记录日志和跟踪异常
Apr 09 #Python
由Python编写的MySQL管理工具代码实例
Apr 09 #Python
python实现爬山算法的思路详解
Apr 09 #Python
You might like
Laravel基础-关于引入公共文件的两种方式
2019/10/18 PHP
Locate a File Using a File Open Dialog Box
2007/06/18 Javascript
jQuery Ajax 实例全解析
2011/04/20 Javascript
jQuery动态添加 input type=file的实现代码
2012/06/14 Javascript
jquery弹出层类代码分享
2013/12/27 Javascript
javascript 寻找错误方法整理
2014/06/15 Javascript
浅谈JavaScript function函数种类
2014/12/29 Javascript
jQueryMobile之Helloworld与页面切换的方法
2015/02/04 Javascript
JS实现兼容性较好的随屏滚动效果
2015/11/09 Javascript
jquery实现手风琴效果
2015/11/20 Javascript
JavaScript事件学习小结(三)js事件对象
2016/06/09 Javascript
ES6新特性七:数组的扩充详解
2017/04/21 Javascript
详解Node.js串行化流程控制
2017/05/04 Javascript
Vue-resource拦截器判断token失效跳转的实例
2017/10/27 Javascript
解决JSON.stringify()自动将中文转译成unicode的问题
2018/01/05 Javascript
express+vue+mongodb+session 实现注册登录功能
2018/12/06 Javascript
浅谈Vue服务端渲染框架Nuxt的那些事
2018/12/21 Javascript
微信小程序实现购物页面左右联动
2019/02/15 Javascript
JavaScript通如何过RGraph实现动态仪表盘
2020/10/15 Javascript
[02:28]DOTA2 2015国际邀请赛中国区预选赛首日现场百态
2015/05/26 DOTA
Python 可爱的大小写
2008/09/06 Python
Python 序列化 pickle/cPickle模块使用介绍
2014/11/30 Python
Python字符串处理实例详解
2017/05/18 Python
python3.6使用pickle序列化class的方法
2018/10/22 Python
Python3之不使用第三方变量,实现交换两个变量的值
2019/06/26 Python
详解python中的数据类型和控制流
2019/08/08 Python
python cv2读取rtsp实时码流按时生成连续视频文件方式
2019/12/25 Python
CSS3 3D立方体效果示例-transform也不过如此
2016/12/05 HTML / CSS
软件工程专业推荐信
2013/10/28 职场文书
高中数学教学反思
2014/01/30 职场文书
军训 自我鉴定
2014/02/03 职场文书
模具设计与制造专业求职信
2014/07/19 职场文书
幼儿园教师岗位职责
2015/04/02 职场文书
学习新党章心得体会2016
2016/01/15 职场文书
python之PySide2安装使用及QT Designer UI设计案例教程
2021/07/26 Python
Netty分布式客户端接入流程初始化源码分析
2022/03/25 Java/Android