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修改Excel数据的实例代码
Nov 01 Python
深入Python解释器理解Python中的字节码
Apr 01 Python
python用10行代码实现对黄色图片的检测功能
Aug 10 Python
Windows下Python的Django框架环境部署及应用编写入门
Mar 10 Python
Python的SQLalchemy模块连接与操作MySQL的基础示例
Jul 11 Python
python实现应用程序在右键菜单中添加打开方式功能
Jan 09 Python
在python中对变量判断是否为None的三种方法总结
Jan 23 Python
Python3+OpenCV2实现图像的几何变换(平移、镜像、缩放、旋转、仿射)
May 13 Python
Python pickle模块实现对象序列化
Nov 22 Python
tensorflow 环境变量设置方式
Feb 06 Python
python3通过qq邮箱发送邮件以及附件
May 20 Python
python关于集合的知识案例详解
May 30 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简单系统查询模块代码打包下载
2008/06/07 PHP
shell脚本作为保证PHP脚本不挂掉的守护进程实例分享
2013/07/15 PHP
php实现按指定大小等比缩放生成上传图片缩略图的方法
2014/12/15 PHP
WordPress网站性能优化指南
2015/11/18 PHP
搭建自己的PHP MVC框架详解
2017/08/16 PHP
PHP基于进程控制函数实现多线程
2020/12/09 PHP
推荐:极酷右键菜单
2006/11/29 Javascript
使用Jquery来实现可以输入值的下拉选单 雏型
2011/12/06 Javascript
轻松创建nodejs服务器(10):处理上传图片
2014/12/18 NodeJs
javascript实现手机震动API代码
2015/08/05 Javascript
深入浅析Node.js 事件循环
2015/12/20 Javascript
网页瀑布流布局jQuery实现代码
2016/10/21 Javascript
Node.js开发教程之基于OnceIO框架实现文件上传和验证功能
2016/11/30 Javascript
详解AngularJS1.6版本中ui-router路由中/#!/的解决方法
2017/05/22 Javascript
微信小程序页面间值传递的两种方法
2018/11/26 Javascript
微信小程序如何获取用户收货地址
2018/11/27 Javascript
jquery ui 实现 tab标签功能示例【测试可用】
2019/07/25 jQuery
JS实现简单随机3D骰子
2019/10/24 Javascript
微信小程序实现滚动加载更多的代码
2019/12/06 Javascript
Python中__call__用法实例
2014/08/29 Python
使用Python编写一个简单的tic-tac-toe游戏的教程
2015/04/16 Python
Python操作MongoDB数据库的方法示例
2018/01/04 Python
python实战之实现excel读取、统计、写入的示例讲解
2018/05/02 Python
解决pyinstaller打包exe文件出现命令窗口一闪而过的问题
2018/10/31 Python
python 使用值来排序一个字典的方法
2018/11/16 Python
python实现抖音点赞功能
2019/04/07 Python
tensorflow实现打印ckpt模型保存下的变量名称及变量值
2020/01/04 Python
Python如何基于Tesseract实现识别文字功能
2020/06/05 Python
Python实现区域填充的示例代码
2021/02/03 Python
利用html5 file api读取本地文件示例(如图片、PDF等)
2018/03/07 HTML / CSS
南非最大的花卉和送礼服务:NetFlorist
2017/09/13 全球购物
英文自荐信
2013/12/19 职场文书
成考报名单位证明范本
2014/01/16 职场文书
大学生的自我鉴定范文
2014/01/21 职场文书
基督教婚礼主持词
2014/03/14 职场文书
导游词之吉林吉塔
2019/11/11 职场文书