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 相关文章推荐
Cython 三分钟入门教程
Sep 17 Python
python list使用示例 list中找连续的数字
Jan 27 Python
解决nohup重定向python输出到文件不成功的问题
May 11 Python
Python mutiprocessing多线程池pool操作示例
Jan 30 Python
Python Flask框架扩展操作示例
May 03 Python
Python 解析pymysql模块操作数据库的方法
Feb 18 Python
Python使用多进程运行含有任意个参数的函数
May 02 Python
Python插件机制实现详解
May 04 Python
Pycharm打开已有项目配置python环境的方法
Jul 03 Python
详解Django的MVT设计模式
Apr 29 Python
Python还能这么玩之用Python做个小游戏的外挂
Jun 04 Python
Python中with上下文管理协议的作用及用法
Mar 18 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
Thinkphp模板中使用自定义函数的方法
2012/09/23 PHP
怎么在Windows系统中搭建php环境
2013/08/31 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(十)
2014/06/24 PHP
PHP改进计算字符串相似度的函数similar_text()、levenshtein()
2014/10/27 PHP
Joomla简单判断用户是否登录的方法
2016/05/04 PHP
php实现文件管理与基础功能操作
2017/03/21 PHP
JQuery中判断一个元素下面是否有内容或者有某个标签的判断代码
2012/02/02 Javascript
jquery.boxy弹出框(后隔N秒后自动隐藏/自动跳转)
2013/01/15 Javascript
js实现模拟计算器退格键删除文字效果的方法
2015/05/07 Javascript
详解AngularJS中module模块的导入导出
2015/12/10 Javascript
JavaScript通过使用onerror设置默认图像显示代替alt
2016/03/01 Javascript
javascript执行环境及作用域详解
2016/05/05 Javascript
js css3实现图片拖拽效果
2017/03/04 Javascript
angular select 默认值设置方法
2017/06/23 Javascript
Python之PyUnit单元测试实例
2014/10/11 Python
python字符串编码识别模块chardet简单应用
2015/06/15 Python
详解Python里使用正则表达式的ASCII模式
2017/11/02 Python
PyTorch搭建一维线性回归模型(二)
2019/05/22 Python
Python 元组拆包示例(Tuple Unpacking)
2019/12/24 Python
如何基于windows实现python定时爬虫
2020/05/01 Python
Python中zip函数如何使用
2020/06/04 Python
详解python内置模块urllib
2020/09/09 Python
五种Python转义表示法
2020/11/27 Python
html5+css3实现一款注册表单实例
2013/04/17 HTML / CSS
Darphin迪梵官网: 来自巴黎,植物和精油调制的护肤品牌
2016/10/11 全球购物
加拿大领先家居家具网上购物:Aosom.ca
2020/05/27 全球购物
写出二分查找算法的两种实现
2013/05/13 面试题
《狐假虎威》教学反思
2014/02/07 职场文书
人事专员工作职责
2014/02/22 职场文书
2014年班主任自我评价范文
2014/04/23 职场文书
小学网上祭英烈活动总结
2014/07/05 职场文书
幼儿园欢迎词范文
2015/01/26 职场文书
婚宴邀请函
2015/01/30 职场文书
聘任通知书
2015/09/21 职场文书
《分数的意义》教学反思
2016/02/20 职场文书
如何利用opencv判断两张图片是否相同详解
2021/07/07 Python