Python爬虫:将headers请求头字符串转为字典的方法

原生请求头字符串

raw_headers = """Host: open.tool.hexun.com
Pragma: no-cache
Cache-Control: no-cache
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.84 Safari/537.36
Accept: */*
Referer: http://stock.hexun.com/gsxw/
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9,en;q=0.8"""

将字符串转为字典

split(sep=None, maxsplit=None)

headers = dict([line.split(": ",1) for line in raw_headers.split("\n")])

输出测试

print(headers)
"""
{
  'Accept-Language': ' zh-CN,zh;q=0.9,en;q=0.8',
  'Accept-Encoding': ' gzip, deflate',
  'Accept': ' */*',
  'User-Agent': ' Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.84 Safari/537.36',
  'Host': ' open.tool.hexun.com',
  'Referer': ' http://stock.hexun.com/gsxw/',
  'Pragma': ' no-cache',
  'Cache-Control': ' no-cache'
}

"""

封装为函数

def get_headers(header_raw):
  """
  通过原生请求头获取请求头字典
  :param header_raw: {str} 浏览器请求头
  :return: {dict} headers
  """
  return dict(line.split(": ", 1) for line in header_raw.split("\n"))

def get_cookies(cookie_raw):
  """
  通过原生cookie获取cookie字段
  :param cookie_raw: {str} 浏览器原始cookie
  :return: {dict} cookies
  """
  return dict(line.split("=", 1) for line in cookie_raw.split("; "))

以上这篇Python爬虫:将headers请求头字符串转为字典的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • python爬虫headers设置后无效的解决方法

    此次遇到的是一个函数使用不熟练造成的问题,但有了分析工具后可以很快定位到问题(此处推荐一个非常棒的抓包工具fiddler) 正文如下: 在爬取某个app数据时(app上的数据都是由http请求的),用Fidder分析了请求信息,并把python的request header信息写在程序中进行请求数据 代码如下 import requests url = 'http://xxx?startDate=2017-10-19&endDate=2017-10-19&pageIndex=1&l

  • Django Python 获取请求头信息Content-Range的方法

    request请求头信息的键会加上HTTP_转换成大写存到request.META中 因此你只需要 content_range = request.META['HTTP_CONTENT_RANGE'] 这样就可以获取到Content-Range的信息. django官网的解释: A standard Python dictionary containing all available HTTP headers. Available headers depend on the client and

  • 使用python将请求的requests headers参数格式化方法

    如下所示: import json # 使用三引号将浏览器复制出来的requests headers参数赋值给一个变量 headers = """ Host: zhan.qq.com Proxy-Connection: keep-alive Content-Length: 799432 Pragma: no-cache Cache-Control: no-cache Origin: http://zhan.qq.com User-Agent: Mozilla/5.0 (Win

  • Python爬虫:将headers请求头字符串转为字典的方法

    原生请求头字符串 raw_headers = """Host: open.tool.hexun.com Pragma: no-cache Cache-Control: no-cache User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.84 Safari/537.36 Accept: */* Re

  • python爬虫多次请求超时的几种重试方法(6种)

    第一种方法 headers = Dict() url = 'https://www.baidu.com' try: proxies = None response = requests.get(url, headers=headers, verify=False, proxies=None, timeout=3) except: # logdebug('requests failed one time') try: proxies = None response = requests.get(u

  • python用reduce和map把字符串转为数字的方法

    python中reduce和map简介 map(func,seq1[,seq2...]) :将函数func作用于给定序列的每个元素,并用一个列表来提供返回值:如果func为None,func表现为身份函数,返回一个含有每个序列中元素集合的n个元组的列表. reduce(func,seq[,init]) :func为二元函数,将func作用于seq序列的元素,每次携带一对(先前的结果以及下一个序列的元素),连续的将现有的结果和下一个值作用在获得的随后的结果上,最后减少我们的序列为一个单一的返回值:

  • Pyspider中给爬虫伪造随机请求头的实例

    Pyspider 中采用了 tornado 库来做 http 请求,在请求过程中可以添加各种参数,例如请求链接超时时间,请求传输数据超时时间,请求头等等,但是根据pyspider的原始框架,给爬虫添加参数只能通过 crawl_config这个Python字典来完成(如下所示),框架代码将这个字典中的参数转换成 task 数据,进行http请求.这个参数的缺点是不方便给每一次请求做随机请求头. crawl_config = { "user_agent": "Mozilla/5.

  • python爬虫系列网络请求案例详解

    学习了之前的基础和爬虫基础之后,我们要开始学习网络请求了. 先来看看urllib urllib的介绍 urllib是Python自带的标准库中用于网络请求的库,无需安装,直接引用即可. 主要用来做爬虫开发,API数据获取和测试中使用. urllib库的四大模块: urllib.request: 用于打开和读取url urllib.error : 包含提出的例外,urllib.request urllib.parse:用于解析url urllib.robotparser:用于解析robots.tx

  • Python爬虫之网络请求

    目录 1.IP代理 2.Cookie 3.异常处理 1.IP代理 某些网站会检测一段时间内某IP的访问次数,若访问次数过多会禁止访问,这时需要设置一些代理服务器,每隔一段时间换一个代理.IP代理的分类: ①透明代理:目标网站可以得知使用了代理以及源IP地址,显然这不符合要求: ②匿名代理:目标网站知道使用了代理,但不知道源IP地址: ③高匿代理:最保险的方式,目标网站既不知道使用了代理,也不知道源IP地址. 2.Cookie 解决http的无状态性,第一次向服务器发送请求时,服务器生成Cooki

  • Python爬虫实现获取动态gif格式搞笑图片的方法示例

    本文实例讲述了Python爬虫实现获取动态gif格式搞笑图片的方法.分享给大家供大家参考,具体如下: 有时候看到一些喜欢的动图,如果一个个取保存挺麻烦,有的网站还不支持右键保存,因此使用python来获取动态图,就看看就很有意思了 本次爬取的网站是  居然搞笑网 http://www.zbjuran.com/dongtai/list_4_1.html 思路: 获取当前页面内容 查找页面中动图所代表的url地址 保存这个地址内容到本地 如果想爬取多页,就可以加上一个循环条件 代码: #!/usr/

  • 基于python 爬虫爬到含空格的url的处理方法

    道友问我的一个问题,之前确实没遇见过,在此记录一下. 问题描述 在某网站主页提取url进行迭代,爬虫请求主页时没有问题,返回正常,但是在访问在主页提取到的url时出现了400状态码(400 Bad Request). 结论 先贴出结论来,如果url里有空格的话,要把空格替换成%20,也就是url编码,否则就会出现400. 解决过程 首先百度了一下400状态码什么意思: 400页面是当用户在打开网页时,返回给用户界面带有400提示符的页面.其含义是你访问的页面域名不存在或者请求错误. 主要有两种形

  • python pandas分割DataFrame中的字符串及元组的方法实现

    目录 1.使用str.split()方法 2.使用join()与split()方法结合 3.使用apply方法分割元组 1.使用str.split()方法 可以使用pandas 内置的 str.split() 方法实现分割字符串类型的数据,并将分割结果写入DataFrame中,以表格形式呈现. 语法: Series.str.split(pat=None, n=-1, expand=False) 其中,pat是字符串或正则表达式,n是一个整数数字,默认为-1.为0或-1时即为最大次数的分割.其他数

  • Springboot通过请求头获取当前用户信息方法详细示范

    目录 一.实现原理 二.导入依赖 三.配置文件 四.代码实现 五.总结 一.实现原理 1.token的存储 当用户登录时,将<token, userInfo>存入redis缓存中,以便鉴权与获取用户信息. 2.发送请求 每次发送请求时将token放入请求头中,令key为“Authorization”或其他值. 3.获取请求头部 ServletRequestAttributes sra = (ServletRequestAttributes) RequestContextHolder.getRe

随机推荐