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 24 Python
Python环境下搭建属于自己的pip源的教程
May 05 Python
mvc框架打造笔记之wsgi协议的优缺点以及接口实现
Aug 01 Python
对python 匹配字符串开头和结尾的方法详解
Oct 27 Python
python并发和异步编程实例
Nov 15 Python
Python使用pymysql模块操作mysql增删改查实例分析
Dec 19 Python
Python实现发票自动校核微信机器人的方法
May 22 Python
自学python用什么系统好
Jun 23 Python
Jmeter HTTPS接口测试证书导入过程图解
Jul 22 Python
微软开源最强Python自动化神器Playwright(不用写一行代码)
Jan 05 Python
用Python实现定时备份Mongodb数据并上传到FTP服务器
Jan 27 Python
用Python生成会跳舞的美女
Jan 18 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
linux下使用ThinkPHP需要注意大小写导致的问题
2011/08/02 PHP
php中的四舍五入函数代码(floor函数、ceil函数、round与intval)
2014/07/14 PHP
PHP 用session与gd库实现简单验证码生成与验证的类方法
2016/11/15 PHP
JS getMonth()日期函数的值域是0-11
2010/02/15 Javascript
单击某一段文字改写文本颜色
2014/06/06 Javascript
ext中store.load跟store.reload的区别示例介绍
2014/06/17 Javascript
javascript类型系统 Array对象学习笔记
2016/01/09 Javascript
JavaScript对象数组排序实例方法浅析
2016/06/15 Javascript
详解微信小程序 wx.uploadFile 的编码坑
2017/01/23 Javascript
Vue2 Vue-cli中使用Typescript的配置详解
2017/07/24 Javascript
vue.js如何将echarts封装为组件一键使用详解
2017/10/10 Javascript
使用webpack3.0配置webpack-dev-server教程
2018/05/29 Javascript
记录vue项目中遇到的一点小问题
2019/05/14 Javascript
微信小程序实现带放大效果的轮播图
2020/05/26 Javascript
vue.js 解决v-model让select默认选中不生效的问题
2020/07/28 Javascript
用vue写一个日历
2020/11/02 Javascript
Vue使用路由钩子拦截器beforeEach和afterEach监听路由
2020/11/16 Javascript
用python + openpyxl处理excel2007文档思路以及心得
2014/07/14 Python
fastcgi文件读取漏洞之python扫描脚本
2017/04/23 Python
python opencv3实现人脸识别(windows)
2018/05/25 Python
python 字符串只保留汉字的方法
2018/11/16 Python
Python3实现从排序数组中删除重复项算法分析
2019/04/03 Python
Python Matplotlib 基于networkx画关系网络图
2019/07/10 Python
Python 文件操作之读取文件(read),文件指针与写入文件(write),文件打开方式示例
2019/09/29 Python
使用python实现kNN分类算法
2019/10/16 Python
Django多个app urls配置代码实例
2020/11/26 Python
不同浏览器对CSS3和HTML5的支持状况
2009/10/31 HTML / CSS
草莓网化妆品日本站:Strawberrynet日本
2017/10/20 全球购物
斯洛伐克家具和时尚装饰品购物网站:Butlers.sk
2019/09/08 全球购物
大学生年度自我鉴定
2013/10/31 职场文书
大一军训感言
2014/01/09 职场文书
区域销售主管岗位职责
2014/06/15 职场文书
2014村书记党建工作汇报材料
2014/11/02 职场文书
大学生求职意向书
2015/05/11 职场文书
Python Pandas pandas.read_sql函数实例用法
2021/06/21 Python
python模块与C和C++动态库相互调用实现过程示例
2021/11/02 Python