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中zip和unzip数据的方法
May 27 Python
详谈python3 numpy-loadtxt的编码问题
Apr 29 Python
Python中修改字符串的四种方法
Nov 02 Python
scrapy-redis的安装部署步骤讲解
Feb 27 Python
python创造虚拟环境方法总结
Mar 04 Python
Pandas-Cookbook 时间戳处理方式
Dec 07 Python
浅谈python之自动化运维(Paramiko)
Jan 31 Python
基于python求两个列表的并集.交集.差集
Feb 10 Python
pycharm设置python文件模板信息过程图解
Mar 10 Python
python自动下载图片的方法示例
Mar 25 Python
Python Pandas list列表数据列拆分成多行的方法实现
Dec 14 Python
使用Pytorch实现two-head(多输出)模型的操作
May 28 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
PHP学习之整理字符串
2011/04/17 PHP
php获取文件夹路径内的图片以及分页显示示例
2014/03/11 PHP
分享常见的几种页面静态化的方法
2015/01/08 PHP
php查询mysql数据库并将结果保存到数组的方法
2015/03/18 PHP
Centos下升级php5.2到php5.4全记录(编译安装)
2015/04/03 PHP
phpstudy隐藏index.php的方法
2020/09/21 PHP
用javascript实现读取txt文档的脚本
2007/07/20 Javascript
JQuery 无废话系列教程(一) jquery入门 [推荐]
2009/06/23 Javascript
IE6背景图片不缓存问题解决方案及图片使用策略多个方法小结
2012/05/14 Javascript
Jquery获取复选框被选中值的简单方法
2013/07/04 Javascript
javascript使用数组的push方法完成快速排序
2014/09/15 Javascript
Angular.js通过自定义指令directive实现滑块滑动效果
2017/10/13 Javascript
基于 flexible 的 Vue 组件:Toast -- 显示框效果
2017/12/26 Javascript
使用vue打包进行云服务器上传的问题
2020/03/02 Javascript
通过实例了解Javascript柯里化流程
2020/03/03 Javascript
[01:10:58]KG vs TNC 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/16 DOTA
在Python中操作时间之strptime()方法的使用
2020/12/30 Python
简单实现python进度条脚本
2017/12/18 Python
Python面向对象编程之继承与多态详解
2018/01/16 Python
python之pyqt5通过按钮改变Label的背景颜色方法
2019/06/13 Python
python opencv对图像进行旋转且不裁剪图片的实现方法
2019/07/09 Python
django使用admin站点上传图片的实例
2019/07/28 Python
对tensorflow中的strides参数使用详解
2020/01/04 Python
Python reversed函数及使用方法解析
2020/03/17 Python
Python使用plt.boxplot() 参数绘制箱线图
2020/06/04 Python
Python单元测试及unittest框架用法实例解析
2020/07/09 Python
Python切片列表字符串如何实现切换
2020/08/06 Python
pytorch __init__、forward与__call__的用法小结
2021/02/27 Python
欧洲领先的技术商店:eibmarkt.com
2019/05/10 全球购物
教师四风自我剖析材料
2014/09/30 职场文书
党的群众路线教育实践活动个人自我剖析材料
2014/10/07 职场文书
2014年学校办公室工作总结
2014/12/19 职场文书
保洁员岗位职责
2015/02/04 职场文书
2015年暑假生活总结
2015/07/13 职场文书
少先队中队工作总结2015
2015/07/23 职场文书
golang slice元素去重操作
2021/04/30 Golang