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 相关文章推荐
Windows下为Python安装Matplotlib模块
Nov 06 Python
浅谈Pycharm调用同级目录下的py脚本bug
Dec 03 Python
Python3中编码与解码之Unicode与bytes的讲解
Feb 28 Python
python字符串查找函数的用法详解
Jul 08 Python
vscode 配置 python3开发环境的方法
Sep 19 Python
Python shutil模块用法实例分析
Oct 02 Python
Python版中国省市经纬度
Feb 11 Python
利用Python制作动态排名图的实现代码
Apr 09 Python
解决Python在导入文件时的FileNotFoundError问题
Apr 10 Python
MxNet预训练模型到Pytorch模型的转换方式
May 25 Python
结束运行python的方法
Jun 16 Python
Python字典和列表性能之间的比较
Jun 07 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数组合并array_merge()函数使用注意事项
2014/06/19 PHP
PHP设计模式之装饰器模式定义与用法简单示例
2018/08/13 PHP
Flash对联广告的关闭按钮讨论
2007/01/30 Javascript
JQUERY设置IFRAME的SRC值的代码
2010/11/30 Javascript
ASP.NET jQuery 实例4(复制TextBox的文本到本地剪贴板上)
2012/01/13 Javascript
javascript中声明函数的方法及调用函数的返回值
2014/07/22 Javascript
JavaScript中window.showModalDialog()用法详解
2014/12/18 Javascript
浅谈JSON中stringify 函数、toJosn函数和parse函数
2015/01/26 Javascript
如何使用jquery修改css中带有!important的样式属性
2016/04/28 Javascript
关于Vue.js一些问题和思考学习笔记(1)
2016/12/02 Javascript
原生JS实现图片轮播效果
2016/12/26 Javascript
Vue.js在使用中的一些注意知识点
2017/04/29 Javascript
vue实现表格数据的增删改查
2017/07/10 Javascript
electron demo项目npm install安装失败的解决方法
2018/02/06 Javascript
angular6.0开发教程之如何安装angular6.0框架
2018/06/29 Javascript
vue中使用echarts制作圆环图的实例代码
2018/07/27 Javascript
在vue+element ui框架里实现lodash的debounce防抖
2019/11/13 Javascript
Vue 路由间跳转和新开窗口的方式(query、params)
2019/12/25 Javascript
vue组件是如何解析及渲染的?
2021/01/13 Vue.js
使用Python中的greenlet包实现并发编程的入门教程
2015/04/16 Python
python爬虫使用cookie登录详解
2017/12/27 Python
Python实现的栈(Stack)
2018/01/26 Python
python 将大文件切分为多个小文件的实例
2019/01/14 Python
使用Python构造hive insert语句说明
2020/06/06 Python
Python+pyftpdlib实现局域网文件互传
2020/08/24 Python
Python排序函数的使用方法详解
2020/12/11 Python
史上最详细的Python打包成exe文件教程
2021/01/17 Python
采购员岗位职责
2013/11/15 职场文书
机修工岗位职责
2013/11/24 职场文书
考试作弊被抓检讨书
2014/01/10 职场文书
留学推荐信中文范文三篇
2014/01/25 职场文书
学校周年庆活动方案
2014/08/22 职场文书
教师党的群众路线教育实践活动个人对照检查材料
2014/09/23 职场文书
县长“四风”对照检查材料思想汇报
2014/10/05 职场文书
公安机关纪律作风整顿剖析
2014/10/10 职场文书
2016公司中秋节寄语
2015/12/07 职场文书