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实现向ppt文件里插入新幻灯片页面的方法
Apr 28 Python
Python实现PS图像调整之对比度调整功能示例
Jan 26 Python
python3使用smtplib实现发送邮件功能
May 22 Python
Python中Proxypool库的安装与配置
Oct 19 Python
Windows下Python3.6安装第三方模块的方法
Nov 22 Python
python requests post多层字典的方法
Dec 27 Python
selenium python 实现基本自动化测试的示例代码
Feb 25 Python
python面向对象实现名片管理系统文件版
Apr 26 Python
Python项目 基于Scapy实现SYN泛洪攻击的方法
Jul 23 Python
使用python图形模块turtle库绘制樱花、玫瑰、圣诞树代码实例
Mar 16 Python
scrapy与selenium结合爬取数据(爬取动态网站)的示例代码
Sep 28 Python
python实现三次密码验证的示例
Apr 29 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 fsockopen伪造post与get方法的详解
2013/06/14 PHP
php实现根据词频生成tag云的方法
2015/04/17 PHP
thinkphp3.x连接mysql数据库的方法(具体操作步骤)
2016/05/19 PHP
JSON PHP中,Json字符串反序列化成对象/数组的方法
2018/05/31 PHP
用javascript实现页面打印的三种方法
2007/03/05 Javascript
JavaScript中为元素加上name属性的方法
2011/05/09 Javascript
jQuery 菜单随滚条改为以定位方式(固定要浏览器顶部)
2012/05/24 Javascript
javascript自定义的addClass()方法
2014/05/28 Javascript
node.js操作mongodb学习小结
2015/04/25 Javascript
jQuery使用$.ajax进行异步刷新的方法(附demo下载)
2015/12/04 Javascript
jQuery on()绑定动态元素出现的问题小结
2016/02/19 Javascript
JS实现页面进入和返回定位到具体位置
2016/12/08 Javascript
详解JS异步加载的三种方式
2017/03/07 Javascript
JS简单获取当前日期时间的方法(如:2017-03-29 11:41:10 星期四)
2017/03/29 Javascript
Webpack打包css后z-index被重新计算的解决方法
2017/06/18 Javascript
React学习笔记之事件处理(二)
2017/07/02 Javascript
javascript 中select框触发事件过程的分析
2017/08/01 Javascript
js点击时关闭该范围下拉菜单之外的菜单方法
2018/01/11 Javascript
Vue单页及多页应用全局配置404页面实践记录
2018/05/22 Javascript
浅谈vue方法内的方法使用this的问题
2018/09/15 Javascript
在python中利用GDAL对tif文件进行读写的方法
2018/11/29 Python
详解Python中的各种转义符\n\r\t
2019/07/10 Python
解决pytorch报错:AssertionError: Invalid device id的问题
2020/01/10 Python
python 如何停止一个死循环的线程
2020/11/24 Python
CK美国官网:Calvin Klein
2016/08/26 全球购物
沙特阿拉伯家用电器和电子产品购物网站:Sheta and Saif
2020/04/03 全球购物
历史学专业个人的自我评价
2013/10/13 职场文书
传媒专业推荐信范文
2013/11/23 职场文书
班组长安全生产职责
2013/12/16 职场文书
优秀应届毕业生推荐信
2014/02/18 职场文书
公益广告语集锦
2014/03/13 职场文书
疾病证明书
2015/06/19 职场文书
办公室规章制度范本
2015/08/04 职场文书
详解Mysql事务并发(脏读、不可重复读、幻读)
2022/04/29 MySQL
详解Vue3使用axios的配置教程
2022/04/29 Vue.js
总结三种用 Python 作为小程序后端的方式
2022/05/02 Python