python爬虫请求头设置代码


Posted in Python onJuly 28, 2020

一、requests设置请求头:

import requests

url="http://www.targetweb.com"

headers={

'Accept':'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8',

'Cache-Control':'max-age=0',

'Connection':'keep-alive',

'Referer':'http://www.baidu.com/',

'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.104 Safari/537.36 Core/1.53.4882.400 QQBrowser/9.7.13059.400'}

res=requests.get(url,headers=headers)

#图片下载时要用到字节流,请求方式如下

#res=requests.get(url,stream=True,headers)

二、Selenium+Chrome请求头设置:

from selenium import webdriver
options = webdriver.ChromeOptions()
options.add_argument('lang=zh_CN.UTF-8')# 设置中文
options.add_argument('user-agent="Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.104 Safari/537.36 Core/1.53.4882.400 QQBrowser/9.7.13059.400"')# 设置头部
browser = webdriver.Chrome(chrome_options=options)
url="http://www.targetweb.com"
browser.get(url)
browser.quit()

三、selenium+phantomjs请求头设置:

from selenium import webdriver
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
des_cap = dict(DesiredCapabilities.PHANTOMJS)
des_cap["phantomjs.page.settings.userAgent"] = ("Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.104 Safari/537.36 Core/1.53.4882.400 QQBrowser/9.7.13059.400")
browser = webdriver.PhantomJS(desired_capabilities=des_cap)
url="http://www.targetweb.com"
browser.get(url)
browser.quit()

四、爬虫框架scrapy设置请求头:

在settings.py文件中添加如下:

DEFAULT_REQUEST_HEADERS = {
'accept': 'image/webp,*/*;q=0.8',
'accept-language': 'zh-CN,zh;q=0.8',
'referer': 'https://www.baidu.com/',
'user-agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.104 Safari/537.36 Core/1.53.4882.400 QQBrowser/9.7.13059.400',}

五、Python异步Aiohttp请求头设置:

import aiohttp
url="http://www.targetweb.com"
headers={
'Accept':'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8',
'Cache-Control':'max-age=0',
'Connection':'keep-alive',
'Referer':'http://www.baidu.com/',
'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.104 Safari/537.36 Core/1.53.4882.400 QQBrowser/9.7.13059.400'}
asyncwithaiohttp.ClientSession(headers=headers)assession:
asyncwithsession.get(url)asresp:
print(resp.status)
print(awaitresp.text())

内容扩展:

1、为什么要设置headers? 

在请求网页爬取的时候,输出的text信息中会出现抱歉,无法访问等字眼,这就是禁止爬取,需要通过反爬机制去解决这个问题。

headers是解决requests请求反爬的方法之一,相当于我们进去这个网页的服务器本身,假装自己本身在爬取数据。

对反爬虫网页,可以设置一些headers信息,模拟成浏览器取访问网站 。

2、 headers在哪里找? 

谷歌或者火狐浏览器,在网页面上点击:右键?>检查?>剩余按照图中显示操作,需要按Fn+F5刷新出网页来 

有的浏览器是点击:右键->查看元素,刷新

以上就是python爬虫请求头设置代码的详细内容,更多关于python爬虫请求头如何设置的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
python服务器与android客户端socket通信实例
Nov 12 Python
python中列表元素连接方法join用法实例
Apr 07 Python
python的dataframe和matrix的互换方法
Apr 11 Python
详解Django 中是否使用时区的区别
Jun 14 Python
Python创建或生成列表的操作方法
Jun 19 Python
python格式化输出保留2位小数的实现方法
Jul 02 Python
centos+nginx+uwsgi+Django实现IP+port访问服务器
Nov 15 Python
python 画3维轨迹图并进行比较的实例
Dec 06 Python
Python变量、数据类型、数据类型转换相关函数用法实例详解
Jan 09 Python
Django 自定义404 500等错误页面的实现
Mar 08 Python
Python使用jupyter notebook查看ipynb文件过程解析
Jun 02 Python
python文件名批量重命名脚本实例代码
Apr 22 Python
详解python安装matplotlib库三种失败情况
Jul 28 #Python
最简单的matplotlib安装教程(小白)
Jul 28 #Python
Python 如何实现访问者模式
Jul 28 #Python
Matplotlib 折线图plot()所有用法详解
Jul 28 #Python
matplotlib.pyplot.plot()参数使用详解
Jul 28 #Python
matplotlib图例legend语法及设置的方法
Jul 28 #Python
Matplotlib中%matplotlib inline如何使用
Jul 28 #Python
You might like
利用static实现表格的颜色隔行显示的代码
2007/09/02 PHP
使用php实现快钱支付功能(涉及到接口)
2013/07/01 PHP
php中url函数介绍及使用示例
2014/02/13 PHP
PHP实现远程下载文件到本地
2015/05/17 PHP
js 函数的副作用分析
2011/08/23 Javascript
js中document.getElementByid、document.all和document.layers区分介绍
2011/12/08 Javascript
js获取dom的高度和宽度(可见区域及部分等等)
2013/06/13 Javascript
jquery使用淘宝接口跨域查询手机号码归属地实例
2013/11/28 Javascript
解决JQeury显示内容没有边距内容紧挨着浏览器边线
2013/12/20 Javascript
jquery中页面Ajax方法$.load的功能使用介绍
2014/10/20 Javascript
浅谈Sizzle的“编译原理”
2015/04/14 Javascript
浅析Node.js中使用依赖注入的相关问题及解决方法
2015/06/24 Javascript
JavaScript类型系统之基本数据类型与包装类型
2016/01/06 Javascript
JavaScipt选取文档元素的方法(推荐)
2016/08/05 Javascript
JS识别浏览器类型(电脑浏览器和手机浏览器)
2016/11/18 Javascript
JS中微信小程序自定义底部弹出框
2016/12/22 Javascript
js实现图片加载淡入淡出效果
2017/04/07 Javascript
vue中axios处理http发送请求的示例(Post和get)
2017/10/13 Javascript
Vue+Flask实现简单的登录验证跳转的示例代码
2018/01/13 Javascript
JS实现的汉字与Unicode码相互转化功能分析
2018/05/25 Javascript
layer.open的自适应及居中及子页面标题的修改方法
2019/09/05 Javascript
[02:32]DOTA2英雄基础教程 美杜莎
2014/01/07 DOTA
极简的Python入门指引
2015/04/01 Python
Python3实现将文件树中所有文件和子目录归档到tar压缩文件的方法
2015/05/22 Python
python爬虫入门教程--利用requests构建知乎API(三)
2017/05/25 Python
python实现感知器算法详解
2017/12/19 Python
Python wxpython模块响应鼠标拖动事件操作示例
2018/08/23 Python
python 实现数字字符串左侧补零的方法
2018/12/04 Python
Python中logging实例讲解
2019/01/17 Python
Pycharm及python安装详细步骤及PyCharm配置整理(推荐)
2020/07/31 Python
基于python实现百度语音识别和图灵对话
2020/11/02 Python
html5开发三八女王节表白神器
2018/03/07 HTML / CSS
凯伦·米莲女装网上商店:Karen Millen
2017/11/07 全球购物
学生会干部自荐信
2014/02/04 职场文书
商学院大学生求职的自我评价
2014/03/12 职场文书
使用Python脚本对GiteePages进行一键部署的使用说明
2021/05/27 Python