有时会遇到爬取的页面需要登录,这就要带上cookie了。

下面记录了几种携带cookie的方法

# coding=utf-8
import requests s = requests.Session()
login_data = {'username': 'teacher', 'password': 'teacher'}
# 方法1
# resp1 = s.post('http://192.168.2.132/login/', data=login_data)
# r = s.get('http://192.168.2.132/personal_live/') # 方法2
# resp1 = requests.post('http://192.168.2.132/login/', data=login_data)
# print('cookie:' + str(resp1.cookies))
# r = requests.get('http://192.168.2.132/personal_live/', cookies=resp1.cookies) # 方法3
# c = {'sessionid': '3ps7ouyox1l43alcb7rafxg9dtfnurcb'}
# r = requests.get('http://192.168.2.132/personal_live/', cookies=c) c = {
'.CNBlogsCookie': 'D020D...07',
'.Cnblogs.AspNetCore.Cookies': 'CfDJ...WA',
'SyntaxHighlighter': 'java',
'SERVERID': '560...34' }
r = requests.get('https://i.cnblogs.com/EditPosts.aspx?opt=1', cookies=c) resp = r.text
print(resp)

方法1是利用同一个Session,先登录,再访问有限制页面。

方法2是直接使用requests,和1一样,同样是先登录,获取cookie,携带cookie访问限制页面。

方法3是手动从浏览器获取cookie,再携带cookie访问限制页面。

优缺点:

1,2差不多,都是直接运行脚本就可以了,但是需要登录页面没有验证码一类的处理。

3可以应对各种网站,但是需要手动获取cookie。

python 携带cookie获取页面内容的更多相关文章

  1. Python+Selenium自动化-获取页面信息

    Python+Selenium自动化-获取页面信息   1.获取页面title title:获取当前页面的标题显示的字段 from selenium import webdriver import t ...

  2. PHP curl获取页面内容,不直接输出到页面,CURLOPT_RETURNTRANSFER参数设置

    使用PHP curl获取页面内容或提交数据,有时候希望返回的内容作为变量储存,而不是直接输出.这个时候就必需设置curl的或true. 1.curl获取页面内容, 直接输出例子: <?php $ ...

  3. PHP CURL获取页面内容输出例子

    使用PHP curl获取页面内容或提交数据,有时候希望返回的内容作为变量储存,而不是直接输出.这个时候就必需设置curl的CURLOPT_RETURNTRANSFER选项为1或true. 1.curl ...

  4. C#获取页面内容的几种方式

    常见的Web页面获取页面内容用 WebRequest 或者 HttpWebRequest 来操作 Http 请求. 例如,获取百度网站的 html 页面 var request = WebReques ...

  5. python+selenium 页面中存在选项卡时,获取页面内容的小技巧

    最近用selenium读取页面内容时,遇到包含选项卡的页面,由于选项卡多由js加载其中的内容,所以在网址打开时只能获取到默认显示的选项卡中的内容,而tab2.tab3等等都需要傻傻的点击一下才会获取到 ...

  6. python爬虫之获取页面script里面的内容

    这是网页上的script 我要获取的是00914这个数字  直接使用正则表达式即可 运行结果: 源码: import re from bs4 import BeautifulSoup from url ...

  7. python 携带cookie访问网站(python接口测试post)

    最近在使用自己研究性能测试工具的时候想到,使用python向服务器不断发送数据以作为并发测试.大概情况如下: #coding=utf-8 import urllib2 import urllib im ...

  8. POST信息模拟登录获取页面内容

    最近项目里有一个是要模拟登录后,访问固定页面获取内容的要求,一开始用JQ AJAX好像不支持跨域请求.后使用.net中HttpWebRequest对象来获取.一开始访问总是无法在第二个页面正常访问,好 ...

  9. php利用simple_html_dom类,获取页面内容,充当爬虫角色

    PHP脚本扮演爬虫的角色,可能大家第一时间想到可能会是会正则,个人对正则的规则老是记不住,表示比较难下手,今天工作中有个需求需要爬取某个网站上的一些门店信息 无意间在网上看到一个比较好的类库叫:sim ...

随机推荐

  1. jdbc配置Spring

    hibernate.properties dataSource.password=123 dataSource.username=root dataSource.databaseName=test d ...

  2. java连接数据库报了ssl连接的警告

    警告内容:Establishing SSL connection without server's identity verification is not recommended(不建议在没有服务器 ...

  3. opencv: 排序

    opencv提供了排序函数:  sort和sorIdx , 其中sortIdx可以获取排序后的序号,比较方便: sortIdx原型: C++: void sortIdx(InputArray src, ...

  4. day14-jdbc案例(简单的curd&分页)

    回顾: mvc jsp的设计模式1: jsp+javabean jsp的设计模式2: jsp+javabean+servlet jsp:展示数据 javabean:封装数据 封装对数据的访问 serv ...

  5. Matlab2017A破解版安装详细图文教程(附破解补丁) 64位

    摘录网址:http://www.jb51.net/softjc/543170.html MATLAB2017a安装教程: 1.下载并解压本站提供的MATLAB2017a破解版安装包,载入右键解压或者使 ...

  6. js中的blob,图片base64URL,file之间的关系

    js的base64编码和解码 英文是这样的:// atob() 将base64解码 // btoa() 将字符串转码为base64 var str = 'javascript'; window.bto ...

  7. python js(JavaScript)初识

    ####################总结############## 引入: 可以在body标签中放入<script type=”text/javascript”></scrip ...

  8. angular,vue,react的基本语法—插值表达式,渲染数据,响应式数据

    基本语法: 1.插值表达式: vue:{{}} react:{} angular:{{}} 2.渲染数据 vue js: export default{ data(){ return{ msg:&qu ...

  9. redis互斥锁简易设计原理【原】

    redis互斥锁设计 方式一: 使用 set(arg1,arg2,arg3,arg4,arg5) 绿线部分代码 //如果不存在就设置,且设置成功60秒后key自动失效,成功会返回字符串"OK ...

  10. vue项目中引用jquery

    1.使用npm安装 npm i jquery --S //jquery要小写 2.在package.json文件dependencies里面加入jq 3.在build文件夹的webpack.base. ...