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实现文件分组复制到不同目录的例子
Jun 04 Python
在Python中使用成员运算符的示例
May 13 Python
python检测是文件还是目录的方法
Jul 03 Python
Python 模块EasyGui详细介绍
Feb 19 Python
python 表达式和语句及for、while循环练习实例
Jul 07 Python
python 实现批量替换文本中的某部分内容
Dec 13 Python
python实现交并比IOU教程
Apr 16 Python
解决django 向mysql中写入中文字符出错的问题
May 18 Python
如何真正的了解python装饰器
Aug 14 Python
Python爬虫实现selenium处理iframe作用域问题
Jan 27 Python
Pyhton模块和包相关知识总结
May 12 Python
Python自动化之批量处理工作簿和工作表
Jun 03 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无限分类源码分享(思路不错)
2011/10/13 PHP
Laravel 5 框架入门(二)构建 Pages 的管理功能
2015/04/09 PHP
总结PHP删除字符串最后一个字符的三种方法
2016/08/30 PHP
laravel实现批量更新多条记录的方法示例
2017/10/22 PHP
PHP执行普通shell命令流程解析
2020/08/24 PHP
字符串的replace方法应用浅析
2011/12/06 Javascript
jQuery对象和Javascript对象之间转换的实例代码
2013/03/20 Javascript
JS控制表格实现一条光线流动分割行的方法
2015/03/09 Javascript
jQuery实现气球弹出框式的侧边导航菜单效果
2015/09/22 Javascript
JS实现的简洁二级导航菜单雏形效果
2015/10/13 Javascript
node.js中的事件处理机制详解
2016/11/26 Javascript
基于javascript的Form表单验证
2016/12/29 Javascript
vue如何获取点击事件源的方法
2017/08/10 Javascript
解决Angular4项目部署到服务器上刷新404的问题
2018/08/31 Javascript
微信小程序中遇到的iOS兼容性问题小结
2018/11/14 Javascript
vue-cli3配置与跨域处理方法
2019/08/17 Javascript
解析JS在获取当前月的最后一天遇到的坑
2019/08/30 Javascript
详解如何修改 node_modules 里的文件
2020/05/22 Javascript
微信小程序自定义扫码功能界面的实现代码
2020/07/02 Javascript
解决ant design vue中树形控件defaultExpandAll设置无效的问题
2020/10/26 Javascript
vue二选一tab栏切换新做法实现
2021/01/19 Vue.js
[01:03:41]DOTA2-DPC中国联赛 正赛 Dynasty vs XG BO3 第三场 2月2日
2021/03/11 DOTA
python线程锁(thread)学习示例
2013/12/04 Python
Python 元组(Tuple)操作详解
2014/03/11 Python
python使用Flask框架获取用户IP地址的方法
2015/03/21 Python
Python3利用Dlib19.7实现摄像头人脸识别的方法
2018/05/11 Python
python 使用shutil复制图片的例子
2019/12/13 Python
pyftplib中文乱码问题解决方案
2020/01/11 Python
Pycharm最常用的快捷键及使用技巧
2020/03/05 Python
捷克原创男装和女装购物网站:Bolf.cz
2018/04/28 全球购物
员工团队活动方案
2014/08/28 职场文书
领导个人查摆剖析材料
2014/10/29 职场文书
小学音乐课教学反思
2016/02/18 职场文书
Python离线安装openpyxl模块的步骤
2021/03/30 Python
前端学习——JavaScript原生实现购物车案例
2021/03/31 Javascript
Vue接口封装的完整步骤记录
2021/05/14 Vue.js