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 18 Python
python实现C4.5决策树算法
Aug 29 Python
pyqt5 获取显示器的分辨率的方法
Jun 18 Python
分析运行中的 Python 进程详细解析
Jun 22 Python
在macOS上搭建python环境的实现方法
Aug 13 Python
pygame编写音乐播放器的实现代码示例
Nov 19 Python
关于sys.stdout和print的区别详解
Dec 05 Python
Python Gluon参数和模块命名操作教程
Dec 18 Python
将python文件打包exe独立运行程序方法详解
Feb 12 Python
Pytorch maxpool的ceil_mode用法
Feb 18 Python
Python TKinter如何自动关闭主窗口
Feb 26 Python
python excel和yaml文件的读取封装
Jan 12 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
全国中波电台频率表
2020/03/11 无线电
php排序算法实例分析
2016/10/17 PHP
PHP实现单条sql执行多个数据的insert语句方法
2019/10/11 PHP
用js 让图片在 div或dl里 居中,底部对齐
2008/01/21 Javascript
JS简单的轮播的图片滚动实例
2013/06/17 Javascript
将json对象转换为字符串的方法
2014/02/20 Javascript
js判断游览器类型及版本号的代码
2014/05/11 Javascript
Javascript中Array用法实例分析
2015/06/13 Javascript
js实现兼容IE、Firefox的图片缩放代码
2015/12/08 Javascript
推荐阅读的js快速判断IE浏览器(兼容IE10与IE11)
2015/12/13 Javascript
JQuery实现网页右侧随动广告特效
2016/01/17 Javascript
JS设置时间无效问题的解决办法
2017/02/18 Javascript
微信小程序本地缓存数据增删改查实例详解
2017/05/24 Javascript
vue.js实现单选框、复选框和下拉框示例
2017/07/18 Javascript
使用JavaScript实现在页面中显示距离2017年中秋节的天数
2017/09/26 Javascript
node通过npm写一个cli命令行工具
2017/10/12 Javascript
Vue v2.5 调整和更新不完全问题
2017/10/24 Javascript
React-intl 实现多语言的示例代码
2017/11/03 Javascript
详解Vue 事件修饰符capture 的使用
2017/12/29 Javascript
详解Nuxt.js部署及踩过的坑
2018/08/07 Javascript
js回调函数仿360开机
2019/12/26 Javascript
[45:50]完美世界DOTA2联赛PWL S3 CPG vs Forest 第二场 12.16
2020/12/17 DOTA
使用python获取CPU和内存信息的思路与实现(linux系统)
2014/01/03 Python
python获取当前日期和时间的方法
2015/04/30 Python
深入理解Python中命名空间的查找规则LEGB
2015/08/06 Python
python算法表示概念扫盲教程
2017/04/13 Python
Python实现的圆形绘制(画圆)示例
2018/01/31 Python
jupyternotebook 撤销删除的操作方式
2020/04/17 Python
python中如何进行连乘计算
2020/05/28 Python
python中实现栈的三种方法
2020/12/19 Python
日本土著品牌,综合型购物网站:Cecile
2016/08/23 全球购物
麦德龙官方海外旗舰店:德国麦德龙超市
2017/12/23 全球购物
最经典的商业地产项目广告词
2014/03/13 职场文书
临时租车协议范本
2014/09/23 职场文书
Python爬虫之爬取最新更新的小说网站
2021/05/06 Python
windows server2008 开启端口的实现方法
2022/06/25 Servers