python 携带cookie获取页面内容

有时会遇到爬取的页面需要登录,这就要带上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。

原文地址:https://www.cnblogs.com/lanqie/p/8392696.html

时间: 2024-08-21 01:06:37

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

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

使用PHP curl获取页面内容或提交数据,有时候希望返回的内容作为变量储存,而不是直接输出.这个时候就必需设置curl的CURLOPT_RETURNTRANSFER选项为1或true. 1.curl获取页面内容, 直接输出例子: <?php $url = 'http://52php.cnblogs.com'; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_SSL_VERIFYPE

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

最近项目里有一个是要模拟登录后,访问固定页面获取内容的要求,一开始用JQ AJAX好像不支持跨域请求.后使用.net中HttpWebRequest对象来获取.一开始访问总是无法在第二个页面正常访问,好像没通过登录验证,用postman模拟提交正常,后查询出原是忘记在第二次请求没把cookies关联上,关联上后请求正常. string wurl=""; string username="haxinet"; string userpwd="haxinet&qu

页面静态化-http get请求获取页面内容代码

1 import org.apache.http.HttpEntity; 2 import org.apache.http.HttpException; 3 import org.apache.http.HttpResponse; 4 import org.apache.http.client.HttpClient; 5 import org.apache.http.client.methods.HttpGet; 6 import org.apache.http.client.methods.H

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

最近在使用自己研究性能测试工具的时候想到,使用python向服务器不断发送数据以作为并发测试.大概情况如下: #coding=utf-8 import urllib2 import urllib import cookielib import os import threading import time class HB:def add_cookie_login(self,username): self.user = username cookiejar = cookielib.CookieJ

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

PHP脚本扮演爬虫的角色,可能大家第一时间想到可能会是会正则,个人对正则的规则老是记不住,表示比较难下手,今天工作中有个需求需要爬取某个网站上的一些门店信息 无意间在网上看到一个比较好的类库叫:simple_html_dom github下载地址:https://github.com/samacs/simple_html_dom 最重要的一步:你得先了解别人网站的结构,知道从哪个tab开始是你想要的数据 下面演示下过程吧 实现过程我分了三步 1.将门店信息的经纬度,名称等一些重要信息先插入本地表

python 利用爬虫获取页面上下拉框里的所有国家

前段时间,领导说列一下某页面上的所有国家信息,话说这个国家下拉框里的国家有两三百个,是第三方模块导入的,手动从页面拷贝,不切实际,于是想着用爬虫去获取这个国家信息,并保存到文件里. 下面是具体的代码,写的也是比较简单,利用Selenium操作页面,获取下拉国家列表的信息,并保存到文件里 from selenium import webdriver import xlwt driver = webdriver.Chrome('C:\Program Files (x86)\Google\Chrome

PHP - 简单获取页面内容

无需使用CURL和Http_Client库,PHP中原生的file()和file_get_contents()函数均可实现,只要文件名参数为URL即可.下面是来自PHP帮助文件的说明(来自于fopen()函数): 如果 filename 是 "scheme://..." 的格式,则被当成一个 URL,PHP 将搜索协议处理器(也被称为封装协议)来处理此模式.如果该协议尚未注册封装协议,PHP 将发出一条消息来帮助检查脚本中潜在的问题并将 filename 当成一个普通的文件名继续执行下

JAVA通过url获取页面内容

String address = "http://sports.sina.com.cn/nba/live.html?id=2015050405"; URL url = new URL(address); HttpURLConnection connection = (HttpURLConnection)url.openConnection(); InputStreamReader input = new InputStreamReader(connection.getInputStre

js 获取页面内容可见区域的高度和宽度

var h = window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight; //height var w = window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth; //width