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时间戳与时间字符串互相转换实例代码
Nov 28 Python
Python对象类型及其运算方法(详解)
Jul 05 Python
TensorFlow损失函数专题详解
Apr 26 Python
numpy 进行数组拼接,分别在行和列上合并的实例
May 08 Python
Python实现的登录验证系统完整案例【基于搭建的MVC框架】
Apr 12 Python
python 寻找离散序列极值点的方法
Jul 10 Python
解决python flask中config配置管理的问题
Jul 26 Python
Python爬虫 scrapy框架爬取某招聘网存入mongodb解析
Jul 31 Python
Keras 使用 Lambda层详解
Jun 10 Python
Python requests模块安装及使用教程图解
Jun 30 Python
Python预测2020高考分数和录取情况
Jul 08 Python
Python利用matplotlib绘制折线图的新手教程
Nov 05 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
实用的简单PHP分页集合包括使用方法
2013/10/21 PHP
PHP实现的简单AES加密解密算法实例
2017/05/29 PHP
PHP使用文件锁解决高并发问题示例
2018/03/29 PHP
PHP cookie与session会话基本用法实例分析
2019/11/18 PHP
php正则表达式使用方法整理集合
2020/01/31 PHP
JS解析json数据并将json字符串转化为数组的实现方法
2012/12/25 Javascript
js完美实现@提到好友特效(兼容各大浏览器)
2015/03/16 Javascript
浅析JavaScript函数的调用模式
2016/08/10 Javascript
关于jquery中动态增加select,事件无效的快速解决方法
2016/08/29 Javascript
JS实现简易的图片拖拽排序实例代码
2017/06/09 Javascript
Vue Spa切换页面时更改标题的实例代码
2017/07/15 Javascript
JS计算两个时间相差分钟数的方法示例
2018/01/10 Javascript
Vue-component全局注册实例
2018/09/06 Javascript
vue侧边栏动态生成下级菜单的方法
2018/09/07 Javascript
js实现京东秒杀倒计时功能
2019/01/21 Javascript
Vue分页器实现原理详解
2019/06/28 Javascript
vue 动态组件(component :is) 和 dom元素限制(is)用法说明
2020/09/04 Javascript
jQuery实现带进度条的轮播图
2020/09/13 jQuery
OpenLayers3实现地图显示功能
2020/09/25 Javascript
探究python中open函数的使用
2016/03/01 Python
python 读入多行数据的实例
2018/04/19 Python
Python3基于sax解析xml操作示例
2018/05/22 Python
django rest framework 数据的查找、过滤、排序的示例
2018/06/25 Python
python生成带有表格的图片实例
2019/02/03 Python
Python 实现使用空值进行赋值 None
2020/03/12 Python
python读取配置文件方式(ini、yaml、xml)
2020/04/09 Python
Python使用tkinter实现小时钟效果
2021/02/22 Python
Surfdome西班牙:世界上最受欢迎的生活方式品牌
2019/02/13 全球购物
介绍一下Ruby的特点
2013/01/20 面试题
自我评价的写作规则
2014/01/06 职场文书
机械设计及其自动化求职推荐信
2014/02/17 职场文书
人力资源主管的岗位职责
2014/03/15 职场文书
团结演讲稿范文
2014/05/23 职场文书
2015中秋节晚会主持词
2015/07/01 职场文书
离职告别感言
2015/08/04 职场文书
交通安全主题班会
2015/08/12 职场文书