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中文问题解决方法(总结了多位前人经验,初学者必看)
Mar 13 Python
Python爬取网易云音乐上评论火爆的歌曲
Jan 19 Python
Python中的TCP socket写法示例
May 11 Python
详解pandas使用drop_duplicates去除DataFrame重复项参数
Aug 01 Python
pyinstaller打包程序exe踩过的坑
Nov 19 Python
python生成特定分布数的实例
Dec 05 Python
pandas实现将日期转换成timestamp
Dec 07 Python
Python+OpenCV实现旋转文本校正方式
Jan 09 Python
pycharm 添加解释器的方法步骤
Aug 31 Python
python中最小二乘法详细讲解
Feb 19 Python
Jupyter notebook 输出部分显示不全的解决方案
Apr 24 Python
Python中异常处理用法
Nov 27 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 什么是PEAR?(第二篇)
2009/03/19 PHP
通过php快速统计某个数据库中每张表的数据量
2012/09/04 PHP
php定时计划任务与fsockopen持续进程实例
2014/05/23 PHP
PHP基于cookie与session统计网站访问量并输出显示的方法
2016/01/15 PHP
Yii2 ActiveRecord多表关联及多表关联搜索的实现
2016/06/30 PHP
Ext第一周 史上最强学习笔记---GridPanel(基础篇)
2008/12/29 Javascript
收集的10个免费的jQuery相册
2011/02/26 Javascript
jQuery语法总结和注意事项小结
2012/11/11 Javascript
Jquery解析Json格式数据过程代码
2014/10/17 Javascript
NodeJS学习笔记之FS文件模块
2015/01/13 NodeJs
封装了jQuery的Ajax请求全局配置
2015/02/05 Javascript
Js和JQuery获取鼠标指针坐标的实现代码分享
2015/05/25 Javascript
BootStrap3使用错误记录及解决办法
2016/12/22 Javascript
简单谈谈原生js的math对象
2017/06/27 Javascript
js弹性势能动画之抛物线运动实例详解
2017/07/27 Javascript
Express + Session 实现登录验证功能
2017/09/08 Javascript
详解Vue.js中.native修饰符
2018/04/24 Javascript
引入外部js脚本加载慢与页面白屏问题的解决
2018/12/10 Javascript
JS根据Unix时间戳显示发布时间是多久前【项目实测】
2019/07/10 Javascript
TensorFlow.js 微信小程序插件开始支持模型缓存的方法
2020/02/21 Javascript
Python读取Excel的方法实例分析
2015/07/11 Python
python使用for循环计算0-100的整数的和方法
2019/02/01 Python
Django保护敏感信息的方法示例
2019/05/09 Python
Ubuntu18.04中Python2.7与Python3.6环境切换
2019/06/14 Python
Python 装饰器原理、定义与用法详解
2019/12/07 Python
Python下划线5种含义代码实例解析
2020/07/10 Python
刘胡兰的英雄事迹材料
2014/02/11 职场文书
消防标语大全
2014/06/07 职场文书
植物生产学专业求职信
2014/08/08 职场文书
英语自我介绍演讲稿
2014/09/01 职场文书
2014国庆节商场促销活动策划方案
2014/09/16 职场文书
有限责任公司股东合作协议书
2014/12/02 职场文书
2015年班干部工作总结
2015/04/29 职场文书
Java中PriorityQueue实现最小堆和最大堆的用法
2021/06/27 Java/Android
nginx实现多geoserver服务的负载均衡
2022/05/15 Servers
MySQL中正则表达式(REGEXP)使用详解
2022/07/07 MySQL