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实现每次处理一个字符的三种方法
Oct 09 Python
开源软件包和环境管理系统Anaconda的安装使用
Sep 04 Python
python交互式图形编程实例(三)
Nov 17 Python
Python中的TCP socket写法示例
May 11 Python
Flask之flask-session的具体使用
Jul 26 Python
pygame游戏之旅 添加游戏界面按键图形
Nov 20 Python
python的turtle库使用详解
May 10 Python
pd.DataFrame统计各列数值多少的实例
Dec 05 Python
Python实现列表中非负数保留,负数转化为指定的数值方式
Jun 04 Python
基于python实现matlab filter函数过程详解
Jun 08 Python
Python map及filter函数使用方法解析
Aug 06 Python
Python 操作SQLite数据库的示例
Oct 16 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
JAVA/JSP学习系列之六
2006/10/09 PHP
Yii核心组件AssetManager原理分析
2014/12/02 PHP
THINKPHP内容分页代码分享
2015/01/14 PHP
php短址转换实现方法
2015/02/25 PHP
crontab无法执行php的解决方法
2016/01/25 PHP
使用symfony命令创建项目的方法
2016/03/17 PHP
浅谈htmlentities 、htmlspecialchars、addslashes的使用方法
2016/12/09 PHP
JQuery中each()的使用方法说明
2010/08/19 Javascript
Javascript中的this绑定介绍
2011/09/22 Javascript
THREE.JS入门教程(1)THREE.JS使用前了解
2013/01/24 Javascript
javascript动态向网页中添加表格实现代码
2014/02/19 Javascript
jqeury-easyui-layout问题解决方法
2014/03/24 Javascript
AngularJS中的模块详解
2015/01/29 Javascript
JavaScript中关于for循环删除数组元素内容时出现的问题
2016/11/21 Javascript
完美解决node.js中使用https请求报CERT_UNTRUSTED的问题
2017/01/08 Javascript
Vue系列:通过vue-router如何传递参数示例
2017/01/16 Javascript
JavaScript简单拖拽效果(1)
2017/05/17 Javascript
Vue项目引进ElementUI组件的方法
2018/11/11 Javascript
微信小程序之swiper滑动面板用法示例
2018/12/04 Javascript
抖音上用记事本编写爱心小程序教程
2019/04/17 Javascript
解决antd datepicker 获取时间默认少8个小时的问题
2020/10/29 Javascript
[02:16]DOTA2超级联赛专访Burning 逆袭需要抓住机会
2013/06/24 DOTA
[03:05]DOTA2英雄基础教程 嗜血狂魔
2013/12/10 DOTA
[48:12]Secret vs Optic Supermajor 胜者组 BO3 第三场 6.4
2018/06/05 DOTA
urllib2自定义opener详解
2014/02/07 Python
在Python中利用Pandas库处理大数据的简单介绍
2015/04/07 Python
python调用API实现智能回复机器人
2018/04/10 Python
python3读取csv和xlsx文件的实例
2018/06/22 Python
python web框架Flask实现图形验证码及验证码的动态刷新实例
2019/10/14 Python
Python通过format函数格式化显示值
2020/10/17 Python
Python 微信公众号文章爬取的示例代码
2020/11/30 Python
纯css3制作的火影忍者写轮眼开眼至轮回眼及进化过程实例
2014/11/11 HTML / CSS
如果让你测试一台高速激光打印机,你都会进行哪些测试
2012/12/04 面试题
2014年十一国庆向国旗敬礼寄语
2014/04/11 职场文书
小学三年级学生评语
2014/04/22 职场文书
党员查摆四风问题思想汇报
2014/10/25 职场文书