python使用requests.get时,请求头的cookie是随机变化的,该怎么写请求头?

例如以下是请求的url:

http://search.10jqka.com.cn/stockpick/search?typed=0&preParams=&ts=1&f=1&qs=result_original&selfsectsn=&querytype=stock&searchfilter=&tid=stockpick&w=%E5%B8%82%E7%9B%88%E7%8E%87%E5%A4%A7%E4%BA%8E%E7%AD%89%E4%BA%8E21%E5%80%8D%E4%B8%94%E5%B8%82%E7%9B%88%E7%8E%87%E5%B0%8F%E4%BA%8E%E7%AD%89%E4%BA%8E22%E5%80%8D&queryarea=

以下请求头:

Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9,en;q=0.8,ja;q=0.7,zh-TW;q=0.6,vi;q=0.5
Cache-Control: max-age=0
Connection: keep-alive
Cookie: Hm_lvt_78c58f01938e4d85eaf619eae71b4ed1=1550575085,1552764171; PHPSESSID=e9cddc3108ec629d2db0c2f2e30ce810; cid=e9cddc3108ec629d2db0c2f2e30ce8101552829178; ComputerID=e9cddc3108ec629d2db0c2f2e30ce8101552829178; other_uid=ths_mobile_iwencai_2e6c84325ffc4a0b201b430c00d1df46; iwencaisearchquery=%E8%BF%9E%E7%BB%AD15%E5%B9%B4%E6%89%A3%E9%9D%9E%E5%87%80%E5%88%A9%E6%B6%A6%E5%A4%A7%E4%BA%8E0%20%E5%B8%82%E5%87%80%E7%8E%87%E4%BD%8E%E4%BA%8E2%20roe%E9%AB%98%E4%BA%8E10%25%20%E5%B8%82%E7%9B%88%E7%8E%87%E4%BD%8E%E4%BA%8E20; guideState=1; Hm_lpvt_78c58f01938e4d85eaf619eae71b4ed1=1552835669; v=AoFMlTW5uV-o89Vrfg5AnBoTkMaYrvY4Hy-ZvOPWfVvmsa8wK_4FcK9yqbBw
Host: search.10jqka.com.cn
Referer: http://search.10jqka.com.cn/stockpick/search?typed=1&preParams=&ts=1&f=1&qs=result_rewrite&selfsectsn=&querytype=stock&searchfilter=&tid=stockpick&w=%E5%B8%82%E7%9B%88%E7%8E%87%E5%A4%A7%E4%BA%8E%E7%AD%89%E4%BA%8E21%E5%80%8D%E4%B8%94%E5%B8%82%E7%9B%88%E7%8E%87%E5%B0%8F%E4%BA%8E%E7%AD%89%E4%BA%8E22%E5%80%8D&queryarea=
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36

我的代码:
r=requests.get(myurl,headers=myheader)
其中myurl就是上面要请求的url,myheader就是上面的请求头

如果请求头里不包含cookie,那么r.text的结果就显示异常,根本不是我想要的信息:
图片说明

若是请求头里包含了cookie,那么r.text就显示正常(正常的我就不列出来了)。但问题来了:这个cookie是随机没有规律的,而且过一段时间就失效,而且好像我打开新的网页也会重置什么的,那我怎么才能写请求头呢?

0

3个回答

网站试图禁止机器人访问,用selenium模拟浏览器去访问。

0
vainquit
vainquit 好吧,以后看到请求头需要提交cookie的一律selenium
3 个月之前 回复

只能selenium,如果你能接受selenium的慢

0
vainquit
vainquit 谢谢,也只能这样了
3 个月之前 回复

cookie是在使用之前已经生成了,你可以在使用之前,先保存cookie然后再去使用,这样就不会失效了。正常情况下,使用关联的方法,基本上可以解决cookie的问题。除非是有各种奇怪的图形验证码一起生成的

0
vainquit
vainquit 谢谢,不过这cookie好像10分钟就失效,感觉保存行不通。。。我后来想了一个折中的方法,就是把请求头的cookie单独拿出来指向一个字符串变量,每次需要用程序之前就自己手动刷一个新的cookie出来复制粘贴到那个字符串变量里里,保证能get到东西,再对那些东西处理。
3 个月之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
Python爬虫——2.底层操作和请求头、请求代理以及cookie操作
一、爬虫底层操作和请求头的设置 1.demo01_爬虫底层操作 虽然urllib2模块是爬虫的底层操作,但并不是程序的底层操作,在其内部的urlopen函数也是有自己封装的内容,实则参数为一个request即请求对象。 # -*- coding:utf-8 -*- # 引入需要的模块 import urllib2 # 定义url url='https://www.taobao.com'
Python爬虫请求头、请求代理以及cookie操作
·爬虫程序urllib2模块底层操作; ·请求头的设置和添加; ·请求代理的种类和类型; ·关于cookie的操作(手动添加/程序自动获取) 一、爬虫底层操作和请求头的设置 1.demo01_爬虫底层操作 虽然urllib2模块是爬虫的底层操作,但并不是程序的底层操作,在其内部的urlopen函数也是有自己封装的内容,实则参数为一个request即请求对象。   # -*- co...
requests笔记2---添加头部信息
import requests url = 'https://www.amazon.cn.gp/product/B01M8L5Z3Y' try:     kv = {'user-agent':'Mozilla/5.0'}     r = requests.get(url,headers=kv)     r.raise_for_status()     print(r.text[:1000]) ex...
http请求头、响应头内容含义、cookie与session区别
cookie基于服务端生成的,在客户端的头信息中,在第一次把请求发到服务端,服务端生成cookie,存放到客户端,下次再请求的时候会带上cookie,redis存session,有缓存时间,过了一段时间就会过期。客户端访问的时候,会带上身份标识,这个标识存在cookie中,当web浏览器禁用cookie的时候,session也失效了,...
http请求头,请求体,cookie在哪个里面?url在哪里面?
客户端请求消息 每个HTTP请求和响应都会带有相应的头部信息。默认情况下,在发送XHR请求的同时,还会发送下列头部信息: Accept:浏览器能够处理的内容类型 Accept-Charset:浏览器能够显示的字符集 Accept-Encoding:浏览器能够处理的压缩编码 Accept-Language:浏览器当前设置的语言 Connection:浏览器与服务器之间连接的类型 Coo...
Cookie请求头字段
一、Cookie请求头字段 1、  浏览器使用Cookie请求头字段将Cookie信息回送给WEB服务器。 2、  多个Cookie信息通过一个Cookie请求头送给WEB服务器。 3、  浏览器根据下面的几个规则决定是否发送某个Cookie信息: (1)       请求的主机名是否与某个存储的Cookie的Domain属性匹配; (2)       请求的端口号是否在该Cookie的
Pyspider中给爬虫伪造随机请求头
Pyspider 中采用了 tornado 库来做 http 请求,在请求过程中可以添加各种参数,例如请求链接超时时间,请求传输数据超时时间,请求头等等,但是根据pyspider的原始框架,给爬虫添加参数只能通过 crawl_config这个Python字典来完成,框架代码将这个字典中的参数转换成 task 数据,进行http请求。这个参数的缺点是不方便给每一次请求做随机请求头。 crawl_
菜鸟写Python-Scrapy shell 带头部headers请求:使用scrapy shell 命令请求源代码(response)并写入本地文件
1.scrapy shell 命令请求网页: scrapy shell "https://www.baidu.com" 就会得到请求的网页源代码,我们通过response.text可以获取请求之后的源代码,然后就可以通过正则匹配我们想要的内容。 2.然后上面请求方法,对一些不做限制的网站请求时ok,但是就如之前所讲的,很多网站对没有设置请求头的请求都是禁止访问,所以我们的爬虫中都设置...
Python Requests-学习笔记(1)-定制请求头和POST
定制请求头 如果你想为请求添加HTTP头部,只要简单地传递一个 dict 给 headers 参数就可以了。 import jsonurl = 'https://api.github.com/some/endpoint'payload = {'some': 'data'}headers = {'content-type': 'application/json'}r = requests.p
Python爬虫:常用的浏览器请求头User-Agent
user_agent = [ “Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_8; en-us) AppleWebKit/534.50 (KHTML, like Gecko) Version/5.1 Safari/534.50”, “Mozilla/5.0 (Windows; U; Windows NT 6.1; en-us) A...
【python】自动生成一定数量的随机请求头header,对爬虫进行伪装
背景: 通过User-Agent构建请求头headers能够将爬虫伪装,但是有的网站会去检查请求头,进而封掉ip地址。所以在每次提交网站请求的时候,使用随机请求头迷惑对方能更好的保护我们的爬虫。 如我之前的例子,用了一个比较笨的方法:搜集各种User-Agent构建请求头,写一个随机函数,每次挑选一个User-Agent。然而人生苦短,聪明的程序员早已专门设计了一个库来生成header用于py...
会话管理:Cookie-Session
1.Cookie是客户端技术
Firefox的请求头不带Cookie
最近开发前端,发现Firefox的请求头没有带Cookie字段,但是Safari和Chrome却带着,百思不得其解。   后来发现,因为使用了whatwg-fetch库,但是fetch options没有加credential: same-origin,而ff和chrome的默认行为居然还不一样。。坑...
iOS 使用AFNetworking 3.1.0如何在请求头中加入cookie
iOS 使用AFNetworking 3.1.0如何在请求头中加入cookie 我们在使用AFNetworing 的时候, 公司对数据的处理有些是对请求数据的参数进行一些加密而有些是在请求之前在请求头中加入cookie来处理,这样当用户登录之后就不需要再传一些参数对后续数据进行请求,只需要一个cookie和URL就可以搞定数据请求了,目前我们大多数请求都是遵循http协议,不清楚的童鞋可
cookie注解和请求头注解
使用cookie注解得到cookie的值 添加cookie 请求头注解@RequestHeader(“Accept”) @RequestMapping("addcookie") public String add(@RequestHeader("Accept") String accept, HttpServletResponse response){ System.ou...
vue项目使用axios发送请求让ajax请求头部携带cookie
最近做vue项目时遇到登录权限问题,登录以后再发送的请求头部并没有携带登录后设置的cookie,导致后台无法校验其是否登录。检查发现是vue项目中使用axios发送ajax请求导致的。查看文档得知axios默认是不让ajax请求头部携带cookie的,因此,在main.js中设置如下: import axios from 'axios' axios.defaults.withCredentia
python实现接口自动化框架前言-----请求头header
通过上一章节我们了解了接口传递的方式,通过哪几种方式传递到后台,如果有看不懂的地方切记,一定要记录下来,百度或者搜索资料,不要遇见代码就觉得看不懂,我写的也不是特别的详细,包含的知识点也很多,一点一点积累~这一章节我们需要学习一下在header中的键值对都是一些什么意思,不一定要全部都懂,但是可以记录下来以后见到了不会陌生。1. header是做什么的:首先我们要测试一个接口,需要三部,一:制造数...
Python爬虫:一些常用的爬虫技巧总结(IP,cookie,header,多线程)
http://python.jobbole.com/84622/ 用python也差不多一年多了,python应用最多的场景还是web快速开发、爬虫、自动化运维:写过简单网站、写过自动发帖脚本、写过收发邮件脚本、写过简单验证码识别脚本。 爬虫在开发过程中也有很多复用的过程,这里总结一下,以后也能省些事情。 1、基本抓取网页 get方法 Pyth
Http消息头、请求头、响应头、参数、cookie和响应内容——别说话,看题就行了
-
java 发送POST、GET请求时,获取请求的头信息Set-Cookie,请求携带Cookie
需求背景 1、前端在请求时遇到跨域请求,连续的请求之间需要携带上一次的Cookie,前端不便于实现。 2、所以需要后端实现Cookie的获取与请求携带,实现请求服务的代理请求。 可行性分析 1、 cookie (储存在用户本地终端上的数据) Cookie 是在 HTTP 协议下,服务器或脚本可以维护客户工作站上信息的一种方式。Cookie 是由 Web 服务器保存在用户浏览器(
ios url 请求头添加参数及自定义cookie(转)
通过请求头可以传递 一些web 想要的一些信息,但是这个方法有些局限性,如果web 跳转的时候头的信息会消息,最好的方法就是自定义cookie 传值 NSURL* url = [NSURL URLWithString:self.url]; NSMutableURLRequest *request = [[NSMutableURLRequest alloc]initWithURL: url];
java 客户端请求服务器 ,在头部添加cookie
在做公司 的项目中,遇到了一个问题。子系统是会员系统方面的我们服务器需要请求对方服务器的网站接口,需要用到cookie。这是我们之前没有想到的,所以就没有做在架构里。所以,我就改了下架构:另起方法。implort org.apache.commons.httpclient.Cookie;import org.apache.commons.httpclient.HttpClient;Cookie c
Python爬虫:网页请求头header手动添加与自动添加cookie登录隐私界面
手动添加cookie 手动获取网页cookie: - 登录网页,点击鼠标右键-->检查-->NetWork-->Doc,然后重新加载url,会出现内容,单击第一项,右侧header会出现cookie,可以将其复制下来,然后直接放入请求头,下面实例访问人人网已登录的界面: from urllib import request if __name__=='_...
JS不允许手动设置请求头的cookie
不能使用 setRequestHeader() 设置自定义头部不能发送和接收 cookie调用 getAllResponseHeaders() 方法总会返回空字符串 参考:1.《JavaScript高级程序设计(第3版)》 - 21.4.2 其他浏览器对 CORS 的实现
ios url 请求头添加参数及自定义cookie
通过请求头可以传递 一些web 想要的一些信息,但是这个方法有些局限性,如果web 跳转的时候头的信息会消息,最好的方法就是自定义cookie 传值    NSURL* url = [NSURL URLWithString:self.url];   NSMutableURLRequest *request = [[NSMutableURLRequest alloc]initWithURL:
Retrofit加请求头
在RequestApi里加 @POST Call<String> post(@Header("Authorization") String apikey,@Url String uri); 在 HttpUtils 里加 //post请求带请求头 public static void post(String apikey, boolean isReadCookie, b...
Python网络请求模块requests
Python网络请求模块requests背景介绍之前说了,公司有一个需求需要使用python实现。由于公司服务器上的python版本是2.7我在写这个需求时,用到网络请求这部分时,发现python 2.7版本的请求模块真的是设计很不合理,urllib和urllib2两个包,我弄的云里雾里的,索性我就不适用自带内建函数,寻找第三方函数库了,发现requests这个函数库非常的便捷(http for h
curl发送带请求头,带请求参数,带cookie的请求
/** * 发送一个带 cookie 的请求 * * @param string $url * @param string $cookie * @return mixed */ private function get_result($url, $cookie) { $ch = curl_init(); ...
Python requests常用的浏览器头部
python爬虫requests浏览器头部
asp.net Cookie请求头以及响应头值的获取
今天的内容还得接着昨天的文章继续讲解。上篇文章,我遇到了如何进行同名Cookie值的设置。在上一篇文章中,我设置的Cookie名字是一定的,写死了。今天再次运行项目时发现报错了,单步运行程序发现Cookie的名字竟然变化了,前面的文章是把name写死了,显然不行,需要动态获取Cookie的name以及value。在开始解决问题之前,我们还是先简单了解一下Cookie的基础知识。
Android WebView添加Cookie和添加请求的头
Android WebView添加Cookie和添加请求的头
glide添加header请求
glide添加header GlideUrl glideUrl = new GlideUrl(url, new LazyHeaders.Builder() .addHeader(“Cookie”, mToken) .build()); Glide.with(this) .load(glideUrl) .error(R.mipmap.report_im) .into(viewHo
Cookie的使用
在Cookie介绍中 我们了解到Cookie是基于Set Cookie响应头和Cookie请求头工作的 服务器通过response对象的addHeader 方法将cookie发送给浏览器 然后浏览器通过Cookie请求头将cookie再送回服务器
Python爬虫之requests库(一):发送请求、传递URL参数、定制headers
import requests 一、发送请求 r = requests.get('https://api.github.com/events') # GET请求 r = requests.post('http://httpbin.org/post', data = {'key':'value'}) # POST请求 r = requests.put('http://httpbin.or...
使用requests获取并向headers中添加cookie
import requests from requests.cookies import RequestsCookieJar headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.102 Sa...
web安全之http请求头文件的含义
1、GET /ic.asp HTTP/1.1 2、Host: 1212.ip138.com 3、User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/534.16 (KHTML, like Gecko) Chrome/10.0.648.133 Safari/534.16 4、Accept:text/ht
http使用post上传文件时,请求头和主体信息总结
假设接受文件的网页程序位于 http://192.168.29.65/upload_file/UploadFile.假设我们要发送一个图片文件,文件名为“kn.jpg”,   首先客户端链接 192.168.24.56 后, 应该发送如下http 请求:   POST/logsys/home/uploadIspeedLog!doDefault.html HTTP/1.1
微服务学习12——spring cloud的网关zuul设置cookie与动态路由
1,如果想传递cookie,只需要将 zuul: routes: myProduct: path: /myProduct/** serviceId: product sensitiveHeaders: 所谓动态路由即是可以动态的更新实际上也很简单,就是把yml文件中的内容写到gitlab中。另外有一点注意,配置的属性名一般是可以直接查看的,用IDEA是可以点开看到的。 ...
爬虫中的Header请求头
很多网站再申请访问的时候没有请求头访问会不成功,或者返回乱码,最简单的解决方式就是伪装成浏览器进行访问,这就需要添加一个请求头来伪装浏览器行为 ** Header ** 请求头可以自己来写,其实很简单 打开任意浏览器某一页面(要联网),按f12,然后点network,之后再按f5,然后就会看到“name”这里,我们点击name里面的任意文件即可。 之后右边有一个headers,点击headers...
ajax请求时request加请求头
function testJWT2() { $.ajax({ beforeSend: function(request) { request.setRequestHeader("jwtToken", "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9");
文章热词 机器学习教程 Objective-C培训 交互设计视频教程 颜色模型 设计制作学习
相关热词 mysql关联查询两次本表 native底部 react extjs glyph 图标 该怎么学习python python该怎么学