requests库很强大,支持HTTP连接保持和连接池,支持使用cookie保持会话,支持文件上传,支持自动确定响应内容的编码,支持国际化的URL和POST数据自动编码。

可以发送无参数的get请求,也可以发送有参数的get请求,修改headers等等。

这里主要展发送post请求,通过data参数来传递。

比如:登录chinaunix网站,通过登录名、密码来登录。

通过查看chinaunix网站源码,可以看到登录页面的网址是:

http://bbs.chinaunix.net/member.php?mod=logging&action=login&loginsubmit=yes&loginhash=LIcAc

不同的电脑登录网址可能不一样,请查看具体的网页源代码。

为了应对网站的反爬虫,可以修改headers来模拟网页登录。具体如下:

import requestsconn = requests.session()
url = 'http://bbs.chinaunix.net/member.php?mod=logging&action=login&loginsubmit=yes&loginhash=LIcAc'
postdata = {‘username’:’***’,‘password’:’***'
}
headers = {'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.95 Safari/537.36'}
rep = conn.post(url, data=postdata,headers=headers)
with open('1.html', 'wb') as f:f.write(rep.content)

代码中的登录名和密码换成自己提前注册好的,否则登录不上。

requests库自动保存cookie,不用再单独设置。

import requestsconn = requests.session()
url = 'http://bbs.chinaunix.net/member.php?mod=logging&action=login&loginsubmit=yes&loginhash=LIcAc'
postdata = {'username':'zhaoxn04','password':'wobugaosuni2004'
}
headers = {'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.95 Safari/537.36'}
rep = conn.post(url, data=postdata,headers=headers)
with open('1.html', 'wb') as f:f.write(rep.content)url1 = 'http://bbs.chinaunix.net/thread-4246512-1-1.html'
rep1 = conn.get(url1, headers=headers)
with open('2.html', 'wb') as f:f.write(rep1.content)

转载于:https://www.cnblogs.com/fredkeke/p/7000687.html

Python-爬虫-requests库用语post登录相关推荐

  1. 【python】python爬虫requests库详解

    1.安装:pip install requests 简介:Requests是一个优雅而简单的Python HTTP库,与之前的urllibPython的标准库相比,Requests的使用方式非常的简单 ...

  2. 已解决(Python爬虫requests库报错 请求异常SSL错误,证书认证失败问题)requests.exceptions.SSLError: HTTPSConnectionPool

    成功解决(Python爬虫requests库报错 请求异常,SSL错误,证书认证失败问题)requests.exceptions.SSLError: HTTPSConnectionPool(host= ...

  3. Python爬虫——Requests 库基本使用

    文章目录 Python爬虫--Requests 库基本使用 1.Requests简介和下载 2.Requests 库基本使用 Python爬虫--Requests 库基本使用 1.Requests简介 ...

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

    get请求 简单使用 import requests ''' 想要学习Python?Python学习交流群:973783996满足你的需求,资料都已经上传群文件,可以自行下载! ''' respons ...

  5. python爬虫requests库_python爬虫使用Requests库 - pytorch中文网

    在入门教程中我们介绍了urllib库和urllib2的用法,同时我们了解一些爬虫的基础以及对爬虫有了基本的了解.其实在我们生产环境中,使用Request库更加方便与实用,同时我们这需要短短的几行代码就 ...

  6. python爬虫requests库_Python爬虫(三)Requests库

    什么是Requests Requests是用python语言基于urllib编写的,采用的是Apache2 Licensed开源协议的HTTP库.与urllib相比,Requests更加方便,可以节约 ...

  7. 【Python成长之路】Python爬虫 --requests库爬取网站乱码(\xe4\xb8\xb0\xe5\xa)的解决方法【华为云分享】

    [写在前面] 在用requests库对自己的CSDN个人博客(https://blog.csdn.net/yuzipeng)进行爬取时,发现乱码报错(\xe4\xb8\xb0\xe5\xaf\x8c\ ...

  8. 【Python成长之路】Python爬虫 --requests库爬取网站乱码(\xe4\xb8\xb0\xe5\xaf\x8c\xe7\x9)的解决方法

    [写在前面] 在用requests库对自己的CSDN个人博客(https://blog.csdn.net/yuzipeng)进行爬取时,发现乱码报错(\xe4\xb8\xb0\xe5\xaf\x8c\ ...

  9. python爬虫实例教程之豆瓣电影排行榜--python爬虫requests库

    我们通过requests库进行了简单的网页采集和百度翻译的操作,这一节课我们继续进行案例的讲解–python爬虫实例教程之豆瓣电影排行榜,这次的案例与上节课案例相似,同样会涉及到JSON模块,异步加载 ...

最新文章

  1. R语言plotly可视化:plotly可视化箱图、相同数据集对比使用不同分位数算法的可视化差异(quartilemethod参数、linear、inclusive、exclusive)
  2. Windows Phone + VB 程序员=好的移动应用程序
  3. use resources at the campus if possible
  4. 20220202--CTF刷题MISC方向--第7题--编码
  5. android服务器 性能,Android性能优化(中)
  6. Sublime Test3 添加一键格式化XML文件插件
  7. 小程序开发(8)-之跳转第三方小程序设计
  8. Mysql基础代码(不断完善中)
  9. 使用Webbrowser的一点心得体会
  10. python远程文件管理系统_如何在Windows上使用Python访问远程文件系统?
  11. c++ 随机数相关的一些函数
  12. 医院MR图像的pixel array 数字过大解决方案
  13. 基于vue的UI框架ydui中的楼层跳跃scrolltab问题解决
  14. iOS包重签名工具,ipa文件重签名,快速签名,SignTool签名工具,好用的签名工具,App重签名
  15. Cell-type–specific || 单细胞文章新范式
  16. VBA从工作表另存为工作簿
  17. 量子计算深化:大规模量子计算(相关论文108篇推荐)
  18. 大数据学习第一课:虚拟机安装配置
  19. 树莓派学前班——设置屏幕分辩率
  20. Qt入门(一)——自己动动手写一个简易的用户化界面(Qt命令行模式)

热门文章

  1. 为何现在的90后员工的离职率越来越高了?
  2. word段落间距调整:格式刷/取消对齐网格/分节符/擦除格式都无效的应对方法
  3. 成功解决 word2019设置背景色为护眼的绿色
  4. 中国互联网微博生死局及商业价值分析
  5. 万兴剪刀手去水印教程_万兴神剪手怎么去水印 去除logo水印方法
  6. 从《西部世界》到GAIL(Generative Adversarial Imitation Learning)算法
  7. 微信如何添加企业微信信息服务器地址,企业微信怎么添加管理员 设置方法介绍...
  8. 输入在第一行中给出一个正整数n(1)。第二行输入n个整数,用空格分开。在一行中输出最大值及最大值的最小下标,中间用一个空格分开。
  9. 小猿理财:如何成为百万富翁?
  10. 微信浏览器页面默认背景色的问题