Pytho爬虫中Requests设置请求头Headers的方法


Posted in Python onSeptember 22, 2020

1、为什么要设置headers?

在请求网页爬取的时候,输出的text信息中会出现抱歉,无法访问等字眼,这就是禁止爬取,需要通过反爬机制去解决这个问题。

headers是解决requests请求反爬的方法之一,相当于我们进去这个网页的服务器本身,假装自己本身在爬取数据。

对反爬虫网页,可以设置一些headers信息,模拟成浏览器取访问网站 。

2、 headers在哪里找?

谷歌或者火狐浏览器,在网页面上点击:右键?>检查?>剩余按照图中显示操作,需要按Fn+F5刷新出网页来

有的浏览器是点击:右键->查看元素,刷新

Pytho爬虫中Requests设置请求头Headers的方法

注意:headers中有很多内容,主要常用的就是user-agent 和 host,他们是以键对的形式展现出来,如果user-agent 以字典键对形式作为headers的内容,就可以反爬成功,就不需要其他键对;否则,需要加入headers下的更多键对形式。

用Python下载一个网页保存为本地的HTML文件实例1-中文网页

import requests

# 中文网页:https://baike.so.com/doc/24386561-25208408.html
url1='https://baike.so.com/doc/24386561-25208408.html'
#添加请求头
headers = {
 'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36 QIHU 360SE'
}
response_1=requests.get(url1, headers=headers)

response_1.encoding='utf-8'
#第一种:
# with open('steve_jobs2.html','w',encoding='utf-8') as f1:
#  f1.write(response_1.text)
#第二种:
f1=open('steve_jobs2.html','w',encoding='utf-8')
f1.write(response_1.text)

c=response_1.text
print(c)

用Python下载一个网页保存为本地的HTML文件实例2-英文网页

import requests
import re

# 英文网页:https://en.wikipedia.org/wiki/Steve_Jobs
url2='https://en.wikipedia.org/wiki/Steve_Jobs'
response_2=requests.get(url2)
# 源码都是Utf-8编码
response_2.encoding='utf-8'
#第一种:
# with open('steve_jobs3.html','w',encoding='utf-8') as f2:
#  f2.write(response_2.text)
#第二种:
f2=open('steve_jobs3.html','w',encoding='utf-8')
f2.write(response_2.text)

c=response_2.text
print(c)

到此这篇关于Pytho爬虫中Requests设置请求头Headers的方法的文章就介绍到这了,更多相关Pytho Requests设置请求头Headers内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
速记Python布尔值
Nov 09 Python
使用Python进行QQ批量登录的实例代码
Jun 11 Python
python处理数据,存进hive表的方法
Jul 04 Python
Python中修改字符串的四种方法
Nov 02 Python
详解Python静态网页爬取获取高清壁纸
Apr 23 Python
python之信息加密题目详解
Jun 26 Python
使用Python脚本zabbix自定义key监控oracle连接状态
Aug 28 Python
python3中利用filter函数输出小于某个数的所有回文数实例
Nov 24 Python
pytorch 彩色图像转灰度图像实例
Jan 13 Python
Python 面向对象静态方法、类方法、属性方法知识点小结
Mar 09 Python
浅谈Python 参数与变量
Jun 20 Python
Python定时任务框架APScheduler原理及常用代码
Oct 05 Python
python 线程的五个状态
Sep 22 #Python
python 如何实现遗传算法
Sep 22 #Python
利用python汇总统计多张Excel
Sep 22 #Python
爬虫代理的cookie如何生成运行
Sep 22 #Python
python 如何将office文件转换为PDF
Sep 22 #Python
Python制作一个仿QQ办公版的图形登录界面
Sep 22 #Python
Python使用for生成列表实现过程解析
Sep 22 #Python
You might like
人族 TERRAN 概述
2020/03/14 星际争霸
基于mysql的bbs设计(三)
2006/10/09 PHP
破解.net程序(dll文件)编译和反编译方法
2013/01/31 PHP
PHP后期静态绑定之self::限制实例分析
2018/12/21 PHP
如何用javascript控制上传文件的大小
2006/10/26 Javascript
使用jQuery异步加载 JavaScript脚本解决方案
2014/04/20 Javascript
jQuery在线选座位插件seat-charts特效代码分享
2015/08/27 Javascript
jQuery简单实现input文本框内灰色提示文本效果的方法
2015/12/02 Javascript
微信小程序购物车、父子组件传值及calc的注意事项总结
2018/11/14 Javascript
优雅地使用loading(推荐)
2019/04/20 Javascript
Nodejs中使用puppeteer控制浏览器中视频播放功能
2019/08/26 NodeJs
Vue data的数据响应式到底是如何实现的
2020/02/11 Javascript
解决vue单页面 回退页面 keeplive 缓存问题
2020/07/22 Javascript
[01:38]完美世界DOTA2联赛PWL S3 集锦第四期
2020/12/21 DOTA
python使用arp欺骗伪造网关的方法
2015/04/24 Python
python二分法查找算法实现方法【递归与非递归】
2019/12/06 Python
Python实现手机号自动判断男女性别(实例解析)
2019/12/22 Python
python GUI库图形界面开发之PyQt5 UI主线程与耗时线程分离详细方法实例
2020/02/26 Python
Python GUI编程学习笔记之tkinter界面布局显示详解
2020/03/30 Python
Python使用pyyaml模块处理yaml数据
2020/04/14 Python
前端面试必备之CSS3的新特性
2017/09/05 HTML / CSS
太阳镜仓库,售价20美元或更少:Sunglass Warehouse
2016/09/28 全球购物
美国办公用品折扣网站:Shoplet.com
2019/11/24 全球购物
园艺师求职信
2014/03/10 职场文书
法律六进活动方案
2014/03/13 职场文书
群众路线教育党课主持词
2014/04/01 职场文书
运动会演讲稿50字
2014/08/25 职场文书
2014年社区国庆节活动方案
2014/09/16 职场文书
2014市国税局对照检查材料思想汇报
2014/09/23 职场文书
学院党委班子四风问题自查报告及整改措施
2014/10/25 职场文书
工作检讨书大全
2015/01/26 职场文书
打架检讨书范文
2015/01/27 职场文书
2015年度保密工作总结
2015/04/24 职场文书
关于JavaScript轮播图的实现
2021/11/20 Javascript
CentOS7安装GlusterFS集群以及相关配置
2022/04/12 Servers
MySQL数据库Innodb 引擎实现mvcc锁
2022/05/06 MySQL