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的Django框架中的select_related函数对QuerySet 查询的优化
Apr 01 Python
用C++封装MySQL的API的教程
May 06 Python
python数据结构学习之实现线性表的顺序
Sep 28 Python
python 缺失值处理的方法(Imputation)
Jul 02 Python
pygame实现俄罗斯方块游戏(基础篇1)
Oct 29 Python
使用TensorFlow对图像进行随机旋转的实现示例
Jan 20 Python
TensorFlow内存管理bfc算法实例
Feb 03 Python
Python HTMLTestRunner库安装过程解析
May 25 Python
Python脚本实现监听服务器的思路代码详解
May 28 Python
基于pycharm实现批量修改变量名
Jun 02 Python
详解用Python调用百度地图正/逆地理编码API
Jul 02 Python
一文带你了解Python 四种常见基础爬虫方法介绍
Dec 04 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&&mysql)六
2006/10/09 PHP
聊天室php&mysql(三)
2006/10/09 PHP
PHP程序员必须清楚的问题汇总
2014/12/18 PHP
4种PHP异步执行的常用方式
2015/12/24 PHP
php遍历替换目录下文件指定内容的方法
2016/11/10 PHP
thinkphp5使html5实现动态跳转的例子
2019/10/16 PHP
Laravel 实现添加多语言提示信息
2019/10/25 PHP
ASP中用Join和Array,可以加快字符连接速度的代码
2007/08/22 Javascript
js中判断控件是否存在
2010/08/25 Javascript
修复IE9&safari 的sort方法
2011/10/21 Javascript
JS操作图片(增,删,改) 例子
2013/04/17 Javascript
js 异步操作回调函数如何控制执行顺序
2013/12/24 Javascript
异步JavaScript编程中的Promise使用方法
2015/07/28 Javascript
JS实现表单中checkbox对勾选中增加边框显示效果
2015/08/21 Javascript
node.js中debug模块的简单介绍与使用
2017/04/25 Javascript
javascript基本常用排序算法解析
2017/09/27 Javascript
Node.js事件的正确使用方法
2019/04/05 Javascript
vue 搭建后台系统模块化开发详解
2019/05/01 Javascript
python的常见命令注入威胁
2013/02/18 Python
python批量设置多个Excel文件页眉页脚的脚本
2018/03/14 Python
Python Grid使用和布局详解
2018/06/30 Python
Python3内置模块random随机方法小结
2019/07/13 Python
将Python文件打包成.EXE可执行文件的方法
2019/08/11 Python
python解释器spython使用及原理解析
2019/08/24 Python
打包PyQt5应用时的注意事项
2020/02/14 Python
美国二手复古奢侈品包包购物网站:LXRandCo
2019/06/18 全球购物
个人存款证明书
2014/10/18 职场文书
自主招生专家推荐信
2015/03/26 职场文书
2015年安全生产月活动总结
2015/03/26 职场文书
2015年城市管理工作总结
2015/05/23 职场文书
2016大学军训心得体会
2016/01/11 职场文书
三好学生评选事迹材料(2016精选版)
2016/02/25 职场文书
奇妙的 CSS shapes(CSS图形)
2021/04/05 HTML / CSS
gojs实现蚂蚁线动画效果
2022/02/18 Javascript
Java中API的使用方法详情
2022/04/06 Java/Android
什么是Python装饰器?如何定义和使用?
2022/04/11 Python