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使用matplotlib实现在坐标系中画一个矩形的方法
May 20 Python
python输入错误密码用户锁定实现方法
Nov 27 Python
python实现人脸识别经典算法(一) 特征脸法
Mar 13 Python
pandas数值计算与排序方法
Apr 12 Python
解决Python安装后pip不能用的问题
Jun 12 Python
python3实现磁盘空间监控
Jun 21 Python
Python学习笔记之pandas索引列、过滤、分组、求和功能示例
Jun 03 Python
Python使用MyQR制作专属动态彩色二维码功能
Jun 04 Python
利用python实现凯撒密码加解密功能
Mar 31 Python
Numpy中ndim、shape、dtype、astype的用法详解
Jun 14 Python
利用python进行文件操作
Dec 04 Python
关于python中模块和重载的问题
Nov 02 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根据传入参数合并多个JS和CSS文件的简单实现
2014/06/13 PHP
phpmailer发送邮件之后,返回收件人是否阅读了邮件的方法
2014/07/19 PHP
PHP微信支付实例解析
2016/07/22 PHP
Yii CDBCriteria常用方法实例小结
2017/01/19 PHP
Yii框架实现多数据库配置和操作的方法
2017/05/25 PHP
深入浅析PHP的session反序列化漏洞问题
2017/06/15 PHP
PHP策略模式定义与用法示例
2017/07/27 PHP
PHP检测接口Traversable用法详解
2017/12/29 PHP
PHP的JSON封装、转变及输出操作示例
2019/09/27 PHP
JS删除数组元素的函数介绍
2013/03/27 Javascript
JavaScript运动减速效果实例分析
2015/08/04 Javascript
javascript中加var和不加var的区别 你真的懂吗
2016/01/06 Javascript
javascript中异常处理案例(推荐)
2016/10/03 Javascript
javascript设置文本框光标的方法实例小结
2016/11/04 Javascript
Ajax的概述与实现过程
2016/11/18 Javascript
javascript表单正则应用
2017/02/04 Javascript
微信小程序 新建登录页并实现tabBar隐藏
2017/06/13 Javascript
vue-router懒加载速度缓慢问题及解决方法
2018/11/25 Javascript
Element输入框带历史查询记录的实现示例
2019/01/15 Javascript
vue+elementUI实现图片上传功能
2019/08/20 Javascript
vue指令v-html使用过滤器filters功能实例
2019/10/25 Javascript
[01:33:25]DOTA2-DPC中国联赛 正赛 Elephant vs IG BO3 第一场 1月24日
2021/03/11 DOTA
Python切换pip安装源的方法详解
2016/11/18 Python
多个应用共存的Django配置方法
2018/05/30 Python
在CentOS7下安装Python3教程解析
2020/07/09 Python
基于python实现删除指定文件类型
2020/07/21 Python
基于python爬取链家二手房信息代码示例
2020/10/21 Python
土木工程专业自荐信
2013/10/04 职场文书
教育孩子心得体会
2014/01/01 职场文书
计算机系本科生求职信
2014/05/31 职场文书
单位授权委托书范文
2014/08/02 职场文书
2014年电话销售工作总结
2014/12/01 职场文书
早安问候语大全
2015/11/10 职场文书
redis三种高可用方式部署的实现
2021/05/11 Redis
如何用PHP实现多线程编程
2021/05/26 PHP
Golang 1.18 多模块Multi-Module工作区模式的新特性
2022/04/11 Golang