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 相关文章推荐
10个易被忽视但应掌握的Python基本用法
Apr 01 Python
Python函数中的函数(闭包)用法实例
Mar 15 Python
Python实现两个list对应元素相减操作示例
Jun 09 Python
Python中类的初始化特殊方法
Dec 01 Python
浅谈python numpy中nonzero()的用法
Apr 02 Python
通过python将大量文件按修改时间分类的方法
Oct 17 Python
Python (Win)readline和tab补全的安装方法
Aug 27 Python
Python如何把十进制数转换成ip地址
May 25 Python
Python 数据的累加与统计的示例代码
Aug 03 Python
python处理写入数据代码讲解
Oct 22 Python
python3 os进行嵌套操作的实例讲解
Nov 19 Python
python中的对数log函数表示及用法
Dec 09 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学习之 认清变量的作用范围
2010/01/26 PHP
php日历制作代码分享
2014/01/20 PHP
PHP-FPM实现性能优化
2016/03/31 PHP
Laravel学习教程之本地化模块
2017/08/18 PHP
解决在Laravel 中处理OPTIONS请求的问题
2019/10/11 PHP
为数据添加append,remove功能
2006/10/03 Javascript
jQuery开发者都需要知道的5个小技巧
2010/01/08 Javascript
ASP.NET jQuery 实例2 (表单中使用回车在TextBox之间向下移动)
2012/01/13 Javascript
点击A元素触发B元素的事件在IE8下会识别成A元素
2014/09/04 Javascript
使用变量动态设置js的属性名
2014/10/19 Javascript
JavaScript面向对象的实现方法小结
2015/04/14 Javascript
AngularJS模块详解及示例代码
2016/08/17 Javascript
深入理解JavaScript继承的多种方式和优缺点
2017/05/12 Javascript
小程序实现展开/收起的效果示例
2018/09/22 Javascript
在微信小程序中渲染HTML内容的方法示例
2018/09/28 Javascript
vue里input根据value改变背景色的实例
2018/09/29 Javascript
基于Bootstrap和JQuery实现动态打开和关闭tab页的实例代码
2019/06/10 jQuery
three.js欧拉角和四元数的使用方法
2020/07/26 Javascript
vue-cli3访问public文件夹静态资源报错的解决方式
2020/09/02 Javascript
python 生成目录树及显示文件大小的代码
2009/07/23 Python
python中使用sys模板和logging模块获取行号和函数名的方法
2014/04/15 Python
Django框架中处理URLconf中特定的URL的方法
2015/07/20 Python
分享几道你可能遇到的python面试题
2017/07/24 Python
python+opencv实现摄像头调用的方法
2019/06/22 Python
Pytorch之卷积层的使用详解
2019/12/31 Python
Python爬取365好书中小说代码实例
2020/02/28 Python
matplotlib 画双轴子图无法显示x轴的解决方法
2020/07/27 Python
Django如何实现密码错误报错提醒
2020/09/04 Python
python分布式爬虫中消息队列知识点详解
2020/11/26 Python
先进德育工作者事迹材料
2014/01/24 职场文书
英语一分钟演讲稿
2014/04/29 职场文书
2014年人事工作总结范文
2014/11/19 职场文书
股权转让协议书
2014/12/07 职场文书
基于Go语言构建RESTful API服务
2021/07/25 Golang
mysql中int(3)和int(10)的数值范围是否相同
2021/10/16 MySQL
http通过StreamingHttpResponse完成连续的数据传输长链接方式
2022/02/12 Python