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中使用元类的教程
Apr 28 Python
最大K个数问题的Python版解法总结
Jun 16 Python
Python3.6通过自带的urllib通过get或post方法请求url的实例
May 10 Python
一看就懂得Python的math模块
Oct 21 Python
python利用小波分析进行特征提取的实例
Jan 09 Python
Python 堆叠柱状图绘制方法
Jul 29 Python
python中树与树的表示知识点总结
Sep 14 Python
Python TKinter如何自动关闭主窗口
Feb 26 Python
python利用opencv实现SIFT特征提取与匹配
Mar 05 Python
为什么是 Python -m
Jun 19 Python
python Matplotlib数据可视化(2):详解三大容器对象与常用设置
Sep 30 Python
Python 里最强的地图绘制神器
Mar 01 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实现的简单mock json脚本分享
2015/02/10 PHP
PHP获取ip对应地区和使用网络类型的方法
2015/03/11 PHP
jquery CSS选择器笔记
2010/03/29 Javascript
关于javascript中this关键字(翻译+自我理解)
2010/10/20 Javascript
ExtJs设置GridPanel表格文本垂直居中示例
2013/07/15 Javascript
js 时间格式与时间戳的相互转换示例代码
2013/12/25 Javascript
jQuery.holdReady()使用方法
2014/05/20 Javascript
javascript日期操作详解(脚本之家整理)
2015/09/05 Javascript
Bootstrap组件系列之福利篇几款好用的组件(推荐)
2016/06/23 Javascript
ES6概念 Symbol.keyFor()方法
2016/12/25 Javascript
javascript ASCII和Hex互转的实现方法
2016/12/27 Javascript
react-native-fs实现文件下载、文本存储的示例代码
2017/09/22 Javascript
angularjs通过过滤器返回超链接的方法
2018/10/26 Javascript
JavaScript canvas动画实现时钟效果
2020/02/10 Javascript
JavaScript 双向链表操作实例分析【创建、增加、查找、删除等】
2020/04/28 Javascript
基于ajax及jQuery实现局部刷新过程解析
2020/09/12 jQuery
JS hasOwnProperty()方法检测一个属性是否是对象的自有属性的方法
2021/01/29 Javascript
[44:04]OG vs Mineski 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/18 DOTA
python模块简介之有序字典(OrderedDict)
2016/12/01 Python
python实现的二叉树定义与遍历算法实例
2017/06/30 Python
Python用imghdr模块识别图片格式实例解析
2018/01/11 Python
python爬取盘搜的有效链接实现代码
2019/07/20 Python
Tornado实现多进程/多线程的HTTP服务详解
2019/07/25 Python
Python使用sys.exc_info()方法获取异常信息
2020/07/23 Python
惠普新加坡官方商店:HP Singapore
2020/04/17 全球购物
优纳科技软件测试面试题
2012/05/15 面试题
生物科学专业个人求职信范文
2013/12/07 职场文书
元旦晚会策划方案
2014/02/18 职场文书
学习经验交流会主持词
2014/04/01 职场文书
我的长生果教学反思
2014/04/28 职场文书
法定代表人授权委托书范文
2014/09/22 职场文书
学习雷锋主题班会
2015/08/14 职场文书
关于感恩的歌曲整理(8首)
2019/08/14 职场文书
创业计划书之少年玩具店
2019/09/05 职场文书
mybatis调用sqlserver存储过程返回结果集的方法
2021/05/08 SQL Server
Java并发编程之原子性-Atomic的使用
2022/03/16 Java/Android