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中的标识运算符
May 14 Python
以windows service方式运行Python程序的方法
Jun 03 Python
利用Django内置的认证视图实现用户密码重置功能详解
Nov 24 Python
windows 下python+numpy安装实用教程
Dec 23 Python
基于numpy.random.randn()与rand()的区别详解
Apr 17 Python
对python PLT中的image和skimage处理图片方法详解
Jan 10 Python
Python中字符串String的基本内置函数与过滤字符模块函数的基本用法
May 27 Python
python实现两个经纬度点之间的距离和方位角的方法
Jul 05 Python
详解Python利用random生成一个列表内的随机数
Aug 21 Python
python查看矩阵的行列号以及维数方式
May 22 Python
基于python计算滚动方差(标准差)talib和pd.rolling函数差异详解
Jun 08 Python
python 发送get请求接口详解
Nov 17 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
SMARTY学习手记
2007/01/04 PHP
CI框架实现创建自定义类库的方法
2018/12/25 PHP
javascript 鼠标滚轮事件
2009/04/09 Javascript
jQuery拖动图片删除示例
2013/05/10 Javascript
给Flash加一个超链接(推荐使用透明层)兼容主流浏览器
2013/06/09 Javascript
各种常用的JS函数整理
2013/10/25 Javascript
JS字符串拼接在ie中都报错的解决方法
2014/03/27 Javascript
Javascript堆排序算法详解
2014/12/03 Javascript
浅谈javascript的Array.prototype.slice.call
2015/08/31 Javascript
使用jQuery制作基础的Web图片轮播效果
2016/04/22 Javascript
JS简单获取客户端IP地址的方法【调用搜狐接口】
2016/09/05 Javascript
原生JS实现网络彩票投注效果
2016/09/25 Javascript
jQuery插件echarts实现的多折线图效果示例【附demo源码下载】
2017/03/04 Javascript
nodejs对express中next函数的一些理解
2017/09/08 NodeJs
nodejs实现连接mongodb数据库的方法示例
2018/03/15 NodeJs
详解解决Vue相同路由参数不同不会刷新的问题
2018/10/12 Javascript
jsonp格式前端发送和后台接受写法的代码详解
2019/11/07 Javascript
vue与django集成打包的实现方法
2019/11/11 Javascript
Python正则表达式分组概念与用法详解
2017/06/24 Python
python去除字符串中的换行符
2017/10/11 Python
python的exec、eval使用分析
2017/12/11 Python
python得到一个excel的全部sheet标签值方法
2018/12/10 Python
wxpython绘制圆角窗体
2019/11/18 Python
python 按钮点击关闭窗口的实现
2020/03/04 Python
Python利用socket模块开发简单的端口扫描工具的实现
2021/01/27 Python
CSS3弹性盒模型开发笔记(一)
2016/04/26 HTML / CSS
Clearly澳大利亚:购买眼镜、太阳镜和隐形眼镜
2018/04/26 全球购物
匡威西班牙官网:Converse西班牙
2019/10/01 全球购物
自考自我鉴定范文
2013/10/30 职场文书
日语求职信范文
2013/12/17 职场文书
医学院毕业生自荐信范文
2014/03/06 职场文书
机电职业生涯规划书范文
2014/03/08 职场文书
驻村工作先进事迹
2014/08/14 职场文书
鲁迅故里导游词
2015/02/05 职场文书
公司宣传语大全
2015/07/13 职场文书
pytorch中的model=model.to(device)使用说明
2021/05/24 Python